sed数字处理方法

转至:http://lht821008.blog.163.com/blog/static/416478620110411959705/

#给文件每一行加上数字序号。用TAB制表符替换空间来保留空白(?)
#(在数字序号和文本中间加一TAB制表符)
sed = filename | sed 'N;s/\n/\t/'
###sed = filename的功能是 Print the current line number.
###但是这个功能是在每一行前面另加一行,并且显示行号,而不是直接在行首加序号
###sed中命令N的解释为Append the next line of input into the pattern space.
###也就是把当前行后一行的内容加在当前行后边.
###sed中命令s/regexp/replacement/解释是在模式空间外匹配regexp,如果成功,使用匹配replacement的内容替换regexp.说白了就是查找替换吧.\n是换行符,\t是TAB制表符

#给文件每一行加上数字序号,数字在左边,向右对齐
sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /'

#给文件每一行加上数字序号,但是仅当行非空时打印数字
sed '/./=' filename | sed '/./N; s/\n/ /'
###sed '/./=' filename的用处是查找除非空行赋予行号,sed '/./N; s/\n/ /'查找非
##空行并把后一行附加到当前行,然后用空格替换换行符\n

# count lines (emulates "wc -l")
#统计行数(类似于 "wc -l")
sed -n '$='
#sed中参数n的含义是suppress automatic printing of pattern space,也就是限制
###自动打印模式空间中内容的功能, '$='中$的含义是Match the last line,=前边
###已经说过了,就是打印行号,所以匹配最后一行而且只打印行号不打印内容,就是
###"wc -l"了

猜你喜欢

转载自luocb1980.iteye.com/blog/1061310
今日推荐