文件编辑
SED
SED 命令一般用于替换文件中的文本。匹配内容支持正则表达式。
基本用法
// 替换 a.txt 文件中的 hello 为 hi,默认替换掉每一行的第一个 hello
$ sed 's/hello/hi/' a.txt
flag
$ sed 's/hello/hi/<flag>' a.txt
几个不同的 flag
- <n>: 如 1, 2, 3 等整数,替换掉每行的第 n 个匹配
- g: 替换掉全部匹配
- <n>+g: 如 2g, 则表示替换掉每行的第 2 个到所有剩余的匹配
- p: 将包含匹配项的行在输出中打印两遍
- d: 删除匹配项所在的行
特定行
$sed '3 s/hello/hi/' a.txt // 只替换第 3 行
$sed '1,3 s/hello/hi/' a.txt // 替换第 1 到 3 行
$sed '3,$ s/hello/hi/' a.txt // 替换第 3 到末行
$sed '1,3d' a.txt // 删除第 1 到 3 行