我想做到以下几点,但我似乎无法找到一个优雅的方式来做到这一点。
我有一个文本文件,它看起来像这样:
..more values
stuff = 23
volume = -15
autostart = 12
more values..
现在的“量”的值可以根据情况变化。 我需要一个脚本,可以发现这行文字与“体积= XXX”,则与行“体积= 0”代替。 什么是优雅的解决方案呢? 这条线在文中不能保证第一线,所以我需要一种方法来先找到它。
我想做到以下几点,但我似乎无法找到一个优雅的方式来做到这一点。
我有一个文本文件,它看起来像这样:
..more values
stuff = 23
volume = -15
autostart = 12
more values..
现在的“量”的值可以根据情况变化。 我需要一个脚本,可以发现这行文字与“体积= XXX”,则与行“体积= 0”代替。 什么是优雅的解决方案呢? 这条线在文中不能保证第一线,所以我需要一种方法来先找到它。
sed 's/^volume =.*/volume = 0/g' file.txt
使用sed你可以说:
sed '/^volume/s/.*/volume = 0/' infile
管内容到这个命令:
sed -e 's/^volume\s*=\s*-\?[0-9]\+$/volume = 0/'
sed 's/^volume=\(.*\)$/volume=1/g' inputfile
@ jliu83,做正则表达式的一些阅读。 它就会在sed命令模式匹配更容易理解。
http://en.wikipedia.org/wiki/Regular_expression