需求:删除文本中指定的字符串,但是网上大多数的答案都是删除含有指定字符串的行!的行!的行!我并不想删除这一行!只想直接删除这个字符串!

        所以自己给研究了下,比如以下这个例子(文本名:test.txt):

        

        我想把其中的“DEVNAME”字段去掉,可以使用以下指令:

sed -n '/DEVNAME/p' test.txt | sed 's/DEVNAME//g'

        得到效果如下:

          但是查看文本test.txt还是会发现并没有被修改:

               

        这时候可以用文本重定向(想要了解的同学可以参考我之前写的文章:【linux】文本重定向:2>&1、&>以及>&)把结果直接存到一个新文本内:

        指令的大概含义为

sed -n '/DEVNAME/p' test.txt 可以理解为寻找文本中带有DEVNAME字段的行
sed 's/DEVNAME//g' 一个固定格式可以理解为:sed 's/要替换的字符串/新的字符串/g' 
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐