23. Multiple Sed Commands in Command Line
在命令行上多个sed
命令
1. Use multiple -e option in the command line
使用多个-e
选项
Search for root, or nobody, or mail in the /etc/passwd file:
|
|
2. Break-up several sed commands using \
使用\
分割多个sed
命令
当你有一个非常长的命令时,你可以使用\
换行分割多个选项
3. Group multiple commands using { }
当你有一个大量的sed 选项时,你可以使用{}
tips:
-e
选项后面每个选项都用''
分割,{}
里面每一行一个选项,不用''
分割
24. Sed Script Files(sed脚本文件)
如果你想去重复使用一套sed命令时,你可以创建一个sed脚本文件,每一行一个sed选项,使用-f
参数调用文件
|
|
25. Sed Comments(sed注释)
我们知道sed使用晦涩难懂的语言,可能这次知道怎么什么意思,下次就忘了,所以可以使用注释行,帮助快速回忆
Note: If the 1st 2 characters of the 1st line in the
*.sed
script are#n
, sed will automatically use the-n
(don’t print the pattern buffer)
option.
如果*.sed
脚本第一行的前两个字符时#n
,则sed将自动使用-n
参数(不打印缓冲区模式)
26. Sed as an Interpreter
sed
作为一种编译器
和shell脚本一样,可以在sed脚本第一行添加编译环境#!/bin/sed -f
使bash
识别为sed脚本。
现在,给sed脚本执行权限,并执行
你也可以在第一行后面使用-n 参数
不是
-fn
参数
27. Modifying the Input File Directly(直接修改输入文件)
使用-i
参数,直接修改输入文件
Replace John with Johnny in the original employee.txt file itself:
|
|
你可以直接使用-i参数修改输入文件,但是要异常小心。
这时候,你可以在-i参数后面添加命名,在写入新内容之前创建一个原始文件的备份
Replace John with Johnny in the original employee.txt file but save a backup copy:
|
|
已经将原始文件备份为employee.txtbak
而原始文件已经修改了
你也可以使用长的-i
参数--in-place
.下面两个命令是等价的