Linux Shell教程(二) 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

直接修改文件内容

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 去修订!

按照范例运行命令,查看结果是否与教程一致。