一、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