Mac 上简单使用 Sed

2021-03-13  本文已影响0人  天空中的球

有时我们需要通过脚本简单修改某个文件中的某个值时,可以用到 Sed 命令的。

一、安装

如果已安装请忽略,没有安装需要 install 下

brew install gnu-sed

二、简单使用

注意: Linux Mac 下使用是略有不同的,此处以 Mac 使用的。

$ cat test.txt
12345
aaa
CCC
$ sed -i "" "s/12345/Hello/" test.txt
$ cat test.txt
Hello
aaa

分析命令 sed -i "" "s/12345/Hello/" test.txt

sed 全名为 stream editor,流编辑器,用程序的方式来编辑文本,功能相当的强大,此处简单记录下

修改文件要用-i, 另外基本操作码如下,以及熟悉简单的正则表达式就OK
s 替换
c change line
d 删除line
i 插入line
a 追加line
2-1、删 d
$ `sed -i "" "2d" test.txt` 删除
2-2、增 a i

在 Mac 系统是原生于bsd系, 所以此处添加 和 插入有点奇怪的(a 添加下一行,i 插入上一行)

sed "$line a\ (注意此处有空格,要在下一行添加文本)
$value(如果想换行要把"写到下一行)
" $file
sed -i "" "2 a\   
aaa
" test.txt
sed -i "" "2 i\   
xxx
" test.txt

其他规则如删除差不多,就是要注意 \ 要换行的,好麻烦

2-3、查 p
$ sed -n  "p" test.txt  // 输出
2-4、改 s
$ sed -i  "" "s/pattern/replace/" test.txt 
$ sed -i  "" "n,ms/pattern/replace/g" test.txt //指定行

以上我们修改一些简单的文件,暂时是没问题啦的,再配合正则表达式 多尝试下,基本OK
只是要注意下 Mac 和 Linux Sed 命令规则很不同的。

参考: SED 简记, sed入门详解教程

上一篇 下一篇

猜你喜欢

热点阅读