我有一个文件test.txt,其中有一行如下
values = abc, def, dfg, ert, sdf, sfd, sdf
我使用shell脚本在test,txt的值中添加一个带逗号分隔的新值。
例如,我需要在test.txt中添加'ghf':
values = abc, def, dfg, ert, sdf, sfd, sdf, ghf
此外,我需要删除该值。
例如,如果我需要删除 test.txt中的'ert':
values = abc, def, dfg, sdf, sfd, sdf, ghf
如何在shell脚本中实现此目的?
已编辑:
如果我给出
echo "abc" >> test.txt
能够将abc附加到文件的末尾,但我需要附加到test.txt中的values =字段
答案 0 :(得分:0)
有几种方法可以实现这一点,但这里有两个简单的sed命令可以帮助你入门。首先,附加字符串",grt"以" values ="开头的行尾在文件test.txt中:
sed -e "s/\(values = .*$\)/\1, ghf/" < test.txt
其次,删除字符串&#34;,grt&#34;从&#34;值=&#34;开始的行在同一个文件中:
sed -e "s/\(values = .*\), grt\(.*$\)/\1\2/" < test.txt
这些只是示例 - 例如,如果字符串&#34; grt&#34;则第二个命令将失败。是等号后面的第一个字符串 - 但希望它们能让你开始。