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

 

posted @ 2022-05-16 00:35  小鲨鱼2018  阅读(93)  评论(0编辑  收藏  举报