1.合併行
zj@zj:~/script/blog_script$ cat test112
34合併上下兩行
zj@zj:~/script/blog_script$ sed '$!n;s/\n/\t/' test1
1 2
3 4
合併匹配模式及其下一行
zj@zj:~/script/blog_script$ sed '/2/' test1
12 3
4合併所有行
zj@zj:~/script/blog_script$ sed ':a;n;s/\n/\t/;ba;' test1
1 2 3 4
2.交換行
2.1已知行號時交換兩行
這裡是交換1,4行.當然你可以根據自己需要修改
連續時好說:
2.2不知道行號
要交換的兩行是連續行的情況下:
ps:交換包含bai與microsoft的行
兩行不連續的情況:
ps:交換含有baidu與google的行
研究了下寫了個不論連續不連續的都可以的:
ps:上面**
/baidu/ 遇到含有baidu的行,開始做{}中的命令序列
:a;n;/google/!ba 迴圈讀資訊,直到讀取google.
/[^\n]*baidu[^\n]*\n[^\n]*google[^\n]*$/這個就是說如果哦baidu與google之間只有乙個\n,即這兩個是連續行就:交換這兩行
如果不匹配上面的模式就是說不是連續行了.
s/\([^\n]*\)\n\(.*\)\n\(.*\)/\3\n\2\n\1/}
而在匹配連續行的情況下是不可能匹配上面表示式的.ok~~~~
3.忘了還有互動奇偶行
4.刪除行就不用說了吧
d嘍....
5.刪除空行
sed '/^$/d' test2
刪除多個空行為乙個空行
sed '/^$/' test2
sed 刪除某一行 sed刪除指定行
待處理文字如1 8行文字 cata1 sed刪除連續指定行 如1 4行 sed 1,4d a5 sed刪除不連續指定行 如第一行和第三行 sed e 1d e 3d a2 乙個例子 我有乙個list檔案如下 cat list unknown other 2 檔名,我要從檔案裡抓取一些資訊,下同,發現...
sed刪除指定行
待處理文字如1 8行文字 cata 1 2345678 sed刪除連續指定行 如1 4行 sed 1,4d a 5678 sed刪除不連續指定行 如第一行和第三行 sed e 1d e 3d a245678 乙個例子 我有乙個list檔案如下 cat list unknown other 2 檔名,...
sed在指定行插入新行
前些天備份使用mysqldump備份出的資料檔案 insert形式 裡面的內容沒有use db name這個語句,所以如果在指令碼中執行,那麼會提示no database selected,所以就想在裡面新增乙個use db name的語句。但是因為資料檔案太大,如果直接vim開啟恐怕不行。所以想到...