linux 中 sed命令删除文本中指定位次的单词
001、
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt ## 测试文本 aa bb cc kk ee ss ff uu zz vv ee ww ## sed预存储抽取文件的第一列 [root@pc1 test1]# sed -r 's/([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)(.*)/\1/' a.txt aa ee zz ## 抽取文件的第二列 [root@pc1 test1]# sed -r 's/([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)(.*)/\3/' a.txt bb ss vv
002、删除二个单词
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt aa bb cc kk ee ss ff uu zz vv ee ww ## 删除第二个单词 [root@pc1 test1]# sed -r 's/([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)(.*)/\1\2\4\5/' a.txt aa cc kk ee ff uu zz ee ww
003、删除倒数第二个单词
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt aa bb cc kk ee ss ff uu zz vv ee ww ## 删除倒数第二个单词 [root@pc1 test1]# sed -r 's/(.*)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+$)/\1\2\4\5/' a.txt aa bb kk ee ss uu zz vv ww
。