sed
是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用。
sed [options] 'command' file(s)
-n
: 仅显示script处理后的结果;- `-e<script>: 以选项中的指定的script来处理输入的文本文件;
- `-f<script>: 以选项中指定的script文件来处理输入的文本文件;
d
: 删除,删除选择的行;s
: 替换指定字符;g
: 获得内存缓冲区的内容,并替代当前模板块中的文本;r file
: 从 file 中读行;w file
: 写并追加模板块到file末尾;W file
: 写并追加模板块的第一行到file末尾;
➜ learn-linux git:(master) ✗ sed 's/examples/example/' example/sed/example1/example1-1.md
# sed 命令的 example。
# sed 命令的 example。
# sed 命令的 example。
➜ learn-linux git:(master) ✗ sed -i '' 's/examples/example/' example/sed/example1/example1-1.md
注:MAC 下需要指定变量暂存替换字符串,如不需要则指定为空,sed -i "" 's/examples/example/' example/sed/example1/example1-1.md
➜ learn-linux git:(master) ✗ echo "examplesexamplesexamples" | sed "s/examples/EXAMPLES/2"
examplesEXAMPLESexamples
➜ learn-linux git:(master) ✗ echo "examplesexamplesexamples" | sed "s/examples/EXAMPLES/3"
examplesexamplesEXAMPLES
➜ learn-linux git:(master) ✗ sed "2d" example/sed/example1/example1-1.md
# sed 命令的 example。
# sed 命令的 example。
# sed 命令的 example。
➜ learn-linux git:(master) ✗ sed "3d" example/sed/example1/example1-1.md
# sed 命令的 example。
# sed 命令的 example。
➜ learn-linux git:(master) ✗ sed '/examples/'d example/sed/example1/example1-1.md
# sed 命令的 example。
# sed 命令的 example。
# sed 命令的 example。
➜ learn-linux git:(master) ✗ echo "examplesexamplesexamples" | sed "s/examples/EXAMPLES/1" | sed "s/examples/EXAMPLES/2"
EXAMPLESexamplesEXAMPLES
➜ learn-linux git:(master) ✗ sed -i '' '2a\
quote> this is a pen' example/sed/example1/example1-1.md
注意:MAC 下 a\
后需要进行换行。
➜ learn-linux git:(master) ✗ sed -i '' '2i\
quote> this is a pen' example/sed/example1/example1-1.md