a.txt內容如下:
111222baidu333444google555666
交換包含baidu和包含google的行,得到:
111222google333444baidu555666
代碼1:
sed '/baidu/{:a;N;/google/!ba;s//([^/n]*/)/n/(.*/)/n/(.*/)//3/n/2/n/1/}' a.txt代碼1的執行過程:

代碼2:
sed '/baidu/{:a;N;/google/{s//(^[^/n]*/)/(.*/)/(/n/)/([^/n]*$/)//4/2/3/1/;t};ba}' a.txt 代碼2的執行過程:

代碼1和代碼2的特點:
1、不需要事先知道baidu和google分別在第幾行。
2、不管baidu和google是否相鄰,都可以正常處理。
3、如果先出現google后出現baidu,命令需要相應的做調整。
新聞熱點
疑難解答