【linux】删除文本中指定的字符串
需求:删除文本中只指定的字符串,但是往上大多数的答案都是删除指定字符串的行!的行!的行!我并不想删除这一行!直线删除这个字符串!所以自己给研究了下,比如以下这个例子(文本名:test.txt):我想把其中的“E:DEVNAME”字段去掉,可以使用以下指令:得到效果如下:但是查看文本test.txt还是会发现并没有被修改:这时候可以用文本重定向(想要了解的同学可以参考我之前写的文章:【l
·
需求:删除文本中指定的字符串,但是网上大多数的答案都是删除含有指定字符串的行!的行!的行!我并不想删除这一行!只想直接删除这个字符串!
所以自己给研究了下,比如以下这个例子(文本名: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'
更多推荐
已为社区贡献1条内容
所有评论(0)