查找字符串,并在Linux取代线(Find string and replace line in l

2019-09-23 05:38发布

我想做到以下几点,但我似乎无法找到一个优雅的方式来做到这一点。

我有一个文本文件,它看起来像这样:

..more values
stuff = 23   
volume = -15
autostart = 12
more values..

现在的“量”的值可以根据情况变化。 我需要一个脚本,可以发现这行文字与“体积= XXX”,则与行“体积= 0”代替。 什么是优雅的解决方案呢? 这条线在文中不能保证第一线,所以我需要一种方法来先找到它。

Answer 1:

sed 's/^volume =.*/volume = 0/g' file.txt


Answer 2:

使用sed你可以说:

sed '/^volume/s/.*/volume = 0/' infile


Answer 3:

管内容到这个命令:

sed -e 's/^volume\s*=\s*-\?[0-9]\+$/volume = 0/'


Answer 4:

sed 's/^volume=\(.*\)$/volume=1/g' inputfile



Answer 5:

@ jliu83,做正则表达式的一些阅读。 它就会在sed命令模式匹配更容易理解。

http://en.wikipedia.org/wiki/Regular_expression



文章来源: Find string and replace line in linux