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