如何使用shell脚本添加或删除单词[persistence]下面的一行

时间:2018-03-06 12:21:09

标签: shell

如何使用shell编程在文件中添加或删除单词[persistence]下面的行。我想添加一行,如果[persistence]存在并且我的行尚未存在。如果我的行已经存在,我想删除它并停止脚本。

例如:我想在myname@satvik下面添加[persistence],以便它看起来像:

[persistence]

myname@satvik

如果此行已存在

[persistence]

myname@satvik

然后我想从文件中删除行myname@satvik

1 个答案:

答案 0 :(得分:0)

首先创建一个像replach.sh这样的文件并放在行

之下
 #!/bin/ksh
 sed  "/^.*\[persistence\]/s//&\\
 'myname@satvik'/" test.txt > temp.txt
  sed '$!N; /^\(.*\)\n\1$/!P; D' temp.txt > test.txt

现在更改文件权限

chmod 777 replach.sh

现在运行此脚本

./replach.sh

要再次删除新添加的行,请执行以下操作: -

sed 's/myname@satvik//g;/^\s*$/d' test.txt > temp.txt
mv temp.txt test.txt
#bring back to original file