sed命令
其中比较重要的有
^ 表示一行的开头。如:/^#/ 以#开头的匹配。
$ 表示一行的结尾。如:/}$/ 以}结尾的匹配。
\< 表示词首。 如:\<abc 表示以 abc 为首的詞。
\> 表示词尾。 如:abc\> 表示以 abc 結尾的詞。
. 表示任何单个字符。
* 表示某个字符出现了0次或多次。
[ ] 字符集合。 如:[abc] 表示匹配a或b或c,还有 [a-zA-Z] 表示匹配所有的26个字符。如果其中有^表示反,如 [^a] 表示非a的字符
sed命令使用注意
参数 sed -i 选项会直接更改文本的内容
sed -i "/SectorNumer/s/[0-9]\+/$1/g" data
#解释:
# 首先匹配含有SectorNumer的那一行
#然后匹配含有数字0-9的数字,这里的\+很重要
#如果不加\+,那么假如$1是3,那么一位数可以正常工作,但是两位数例如75就会被替换为33
#也就是单个数字单个数字的替换了,这就不是我们想要的结果了
在一行刚开始使用井号, s/^/#/g
如果一行是以空格开始才使用井号,s/^ /#/g
这里在 ^ 之后多了个空格