linux 中 sed预存储命令

 

001、

root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt hello world root@PC1:/home/test2# sed 's/\(hello\) \(world\)/\2 \1/' a.txt    ## 第一个小括号中的内容用\1表示,第二个小括号中的内容用\2表示 world hello

 

002、实现第一列和第二列互换

root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt hello world aaaaa bbbbb xxxxx yyyyy root@PC1:/home/test2# sed 's/\(^.*\) \(.*$\)/\2 \1/' a.txt        ## 第一个小括号用\1表示,第二个小括号用\2表示 world hello bbbbb aaaaa yyyyy xxxxx

 

003、

root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt GMM     201 GMM     202 GMM     203 GMM     204 GMM     205 GMM     206 root@PC1:/home/test2# sed 's/\(^...\).*/&\t\1/' a.txt           ## \1预存储为前三个字符 GMM     201     GMM GMM     202     GMM GMM     203     GMM GMM     204     GMM GMM     205     GMM GMM     206     GMM

 

004、

root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt Beijing Beijing Beijing Beijing London London London London root@PC1:/home/test2# sed 's/\(^Beijing\)\(.*\)\(Beijing$\)/\12008\2\32008/' a.txt  ## 实现在第一个北京和最后一个北京后面添加2008 Beijing2008 Beijing Beijing Beijing2008 London London London London

 

参考:http://c.biancheng.net/linux/sed.html