Linux學習筆記:sed刪除、插入數據


一、sed刪除文件第一行

sed -i '1d' file.txt -- 刪除第一行

sed -i 'nd' file.txt -- 刪除第n行

sed -i '$d' file.txt -- 刪除最后一行

 

二、sed插入數據 按行

sed -i 'ni\x' file.txt -- 第n行前添加x內容(換行)

sed -i 'na\x' file.txt -- 第n行后添加x內容(換行)

sed -i '/m/i\x' file.txt -- 匹配m字符的行前面添加x內容

sed -i '/m/a\x' file.txt -- 匹配m字符的行后面添加x內容

  • -i in front 前面
  • -a after 后面

 

三、sed行尾、行首添加字符

sed 's/^/HEAD&/g' file.txt -- 在每行的頭添加字符"HEAD"

sed 's/$/&TAIL/g' file.txt -- 在每行的尾添加字符"TAIL"

  • -- "^" 行首
  • -- "$" 行尾
  • -- "g" 代表每行出現的字符全部替換,在替換特定字符的場景下,便可發揮作用,否則只會替換每行的第一個出現字符,而不往后搜尋

注:添加了"g"之后,把每一個a都替換為xxxxx,不添加則只替換第一個出現的a

  • -- 添加 " > b.txt" 則可以把文件保存為新的文件,如果想在原文件上進行修改,添加選項" -i " 即可

除此之外,可以將兩條命令合並起來同時添加,如:

sed '/./{s/^/HEAD&/;s/$/&TAIL/}' a.txt

 

四、其他

  Unix系統里,每行結尾只有“<換行>”,即“\n”;Windows系統里面,每行結尾是“<換行><回 車>”,即“\n\r”。一個直接后果是,Unix系統下的文件在Windows里打開的話,所有文字會變成一行;而Windows里的文件在Unix下打開的話,在每行的結尾可能會多出一個^M符號。

  使用 " cat -A a.txt" 命令可以查看隱藏字符。


 END 2019-01-28 00:33:34

本篇部分內容學習自:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM