如何在bash脚本中替换文件的特定行?

时间:2017-07-25 10:19:03

标签: bash shell text scripting

我在一个目录中有一个文件,我想用另一行替换一个特定的行。

在我的情况下,行是 - "密码必备pam_pwquality.so" 我想把它作为

" #password requisite pam_pwquality.so"。

我试过这样:

 cat test1 | while read line
    do
       if grep -q "$str" test1; then
            echo "found"
            sed -i -e "s/${str}/${str1}/g" test1

       fi

但是它显示了多个找到的语句,但我只有这一行的一个副本。

1 个答案:

答案 0 :(得分:0)

$ x='password requisite pam_pwquality.so'
$ sed -i "s/\($x\)/#\1/" file