直接修改文件内容
sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向。不过,由于这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试! 我们还是使用那个 regular_express.txt 文件来测试看看吧!
范例1:利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 ! 。
$ sed -i 's/\.$/\!/g' regular_express.txt
范例2:利用 sed 直接在 regular_express.txt 最后一行加入 “# This is a test” 。
$ sed -i '$a # This is a test' regular_express.txt
由于 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 “# This is a test” !
sed 的“ -i ”选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!通过 sed 直接修改/替换的功能,你甚至不需要使用 vim 去修订!
按照范例运行命令,查看结果是否与教程一致。