学习文章:
删除文件每行中前几个字符
替换
1、将
old.txt
中
|
替换为
,
,并重定向到
new.txt
。原文件
old.txt
不会改变,产生新的文件
new.txt
。
sed 's/|/,/g' old.txt > new.txt
2、将
old.txt
中
||
替换为
(等价于删除文件中的
||
),原文件
old.txt
文本内容发生改变。
sed -i 's/|//g' old.txt
删除每行前几个字符
1、
^.
表示开头1个字符,n个
.
即表示n个字符。
sed -i 's/^..//g' old.txt #删除每行前2个字符,old.txt发生改变。不生成新文件。
2、正则表达式
sed 's/^.\{10\}//g' old.txt > new.txt #删除old.txt中每行的前10个字符,重定向到new.txt。old.txt不发生改变
tips:
sed -i 's/|/,/g' xxx.txt #添加-i后,命令会修改原文件,且不可重定向或追加 > >>
cat old.txt > new.txt #将old.txt内容重定向到new.txt中,即复制一个与old.txt内容相同的new.txt文件。
#若原本无new.txt,则自动生成new.txt。若new.txt已存在,则会发生覆盖
cat old.txt >> new.txt # >> 实现追加功能。打印old.txt中内容追加到new.txt。
#若原本无new.txt,则自动生成new.txt。若new.txt已存在,则新内容会追加到文件尾部
版权声明:本文为CNOLZP原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。