我像这样使用 .txt 文件作为数据库:
is-program-installed= 0
is-program2-installed= 1
is-script3-runnig= 0
is-var5-declared= 1
但是如果我卸载程序 2 并且我想将它的数据库值设置为“0”怎么办?
最佳答案
使用 sed
的一种方法:
sed -e '/is-program2-/ s/.$/0/' -i file.txt
它是这样工作的:
s/.$/0/
用 0 替换最后一个字符:点匹配任何字符,$ 匹配行尾——因此.$
是该行的最后一个字符。/is-program2-/
是一个过滤器,因此只对匹配的行执行替换。
我使用的过滤器模式有点懒惰:它很短但不准确。更长、更严格的解决方案是:
sed -e '/^is-program2-installed= / s/.$/0/' -i file.txt
关于database - Bash 在指定行编辑文件中的最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894645/