sed行處理工具
1、顯示檔案中匹配行
cat tmp.txt|sed -n '/匹配字元正則/p' (-n是不列印全部檔案)
2、顯示檔案第幾行
cat tmp.txt|sed -n '1p' --第一行--
cat tmp.txt|sed -n '1,3p' --一到三行--
3、替換檔案中字元
cat tmp.txt | sed 's/ee/ff/' 或者 sed 's/ee/ff/' tmp.txt --將tmp.txt檔案中每行第乙個匹配的ee替換為ff,不改變原檔案--
cat tmp.txt | sed 's/ee/ff/g' 或者 sed 's/ee/ff/g' tmp.txt --將tmp.txt檔案中,全部ee替換為ff,不改變原檔案--
sed 's/ee/ff/' tmp.txt > tmp2.txt --將tmp.txt檔案中ee替換為ff,不改變原檔案,新生成乙個新的tmp2.txt檔案--
改變原檔案:sed -i 's/ee/ff/' tmp.txt
4、指定行替換
cat tmp.txt |sed '3,5s/ee/ff/' --將檔案中3到5行替換ee為ff--
5、匹配行的替換
cat tmp.txt | sed '/^w/s/ee/ff/' --將tmp.txt檔案中,以w開頭行中的ee替換為ff--
cat tmp.txt | sed '/^w/,/^x/s/ee/ff/' --將tmp.txt檔案中,以w開頭到x開頭之間的行的ee替換為ff--
6、批量重新命名檔名
例有檔案:
aa.txt bb.txt cc.txt 將其重命為aa.jpg bb.jpg cc.jpg
\( )\為記憶體空間,將匹配的aa bb cc記錄下來,\1為記憶體空間的第乙個匹配
生成mv的命令**,通過sh執行--
7、刪除匹配行--不顯示出來,不修改原始檔
只刪除第二行:$ sed '2 d' employee.txt
刪除1到4行:$ sed '1,4 d' employee.txt
刪除從第二行到最後一行:$ sed '2,$ d' employee.txt
只刪除奇數行:$ sed '1~2 d' employee.txt
刪除所有包含'manager'的行:$ sed '/manager/ d' employee.txt
刪除第一次包含'jason'的行到第四行:$ sed '/jason/,4 d' employee.txt
刪除從第一次匹配'raj'的行 到匹配'jane'之間的行:$ sed '/raj/,/jane/ d' employee.txt
刪除匹配'jason'的行及它下面兩行:$ sed '/jason/,+2 d' employee.txt
一些有用的刪除例子
從乙個檔案刪除所有空行:sed '/^$/ d' employee.txt
刪除所有注釋行(假設注釋以#開頭):sed '/^#/ d' employee.txt
linux中sed學習小結
sed行處理工具 1 顯示檔案中匹配行 cat tmp.txt sed n 匹配字元正則 p n是不列印全部檔案 2 顯示檔案第幾行 cat tmp.txt sed n 1p 第一行 cat tmp.txt sed n 1,3p 一到三行 3 替換檔案中字元 cat tmp.txt sed s ee...
linux中sed學習小結
sed行處理工具 1 顯示檔案中匹配行 cat tmp.txt sed n 匹配字元正則 p n是不列印全部檔案 2 顯示檔案第幾行 cat tmp.txt sed n 1p 第一行 cat tmp.txt sed n 1,3p 一到三行 3 替換檔案中字元 cat tmp.txt sed s ee...
sed 使用小結
sed可用來編輯文字,主要作用是查詢和替換 1.查詢 sed n ahcming p以上作用等同於 grep ahcming 使用 n,sed將不會在操作完成後列印,只有p才表示輸出 2替換sed 命令列 sed s 查詢內容 替換內容 sed s 查詢內容 替換內容 g 行為模式 每次讀取一行,查...