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