0514-86177077
9:00-17:00(工作日)
a.txt內容如下:
111 222 baidu 333 444 google 555 666
交換包含baidu和包含google的行,得到:
111 222 google 333 444 baidu 555 666
代碼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,命令需要相應的做調整。
標簽:呼和浩特 常德 晉中 連云港 公主嶺 三明 香港 林芝
上一篇:linux awk刪除文本重復行需要注意強制類型轉換的問題
下一篇:Linux ACL基本概念及典型用法
Copyright ? 1999-2012 誠信 合法 規范的巨人網絡通訊始建于2005年
蘇ICP備15040257號-8