我想做以下事情,但我似乎找不到一种优雅的方式来做到这一点。
我有一个如下所示的文本文件:
..more values
stuff = 23
volume = -15
autostart = 12
more values..
现在“音量”值可能会根据情况发生变化。我需要一个脚本,它可以找到带有“volume = xxx”的文本行,然后用“volume = 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 命令中的模式匹配更容易理解。