sed 行编辑
功能 | 助记词 | 命令 | 意义 |
---|---|---|---|
替换 | substitute | sed -i 's/dog/cat/g' file | 将 file 中的 dog 替换为 cat |
sed -i '2s/dog/cat/' file | 将 file 第 2 行的 dog 替换为 cat | ||
sed -i '2,3s/dog/cat/' file | 将 file 第 2~3 行的 dog 替换为 cat | ||
sed -i '2,$s/dog/cat/' file | 将 file 第 2~最后行的 dog 替换为 cat | ||
删除 | delete | sed -i '2d' file | 删除 file 第 3 行 |
sed -i '2,3d' file | 删除 file 第 2~3 行 | ||
sed -i '2,$d' file | 删除 file 第 2~最后行 | ||
sed -i '/word/d' file | 删除 file 匹配 word 行 | ||
修改 | change | sed -i '2c change line 2' file | 修改 file 第 2 行 |
sed -i '/word/c change line' file | 修改 file 匹配 word 行 | ||
sed -i "/key/c key=$value" file | 修改 file 中 key 值 | ||
打印 | sed -n '2,3p' file | 打印 file 第 2~3 行 | |
sed -n '/word/p' file | 打印 file 匹配 word 行 | ||
插入 | insert | sed -i '2i insert before line 2' file | 插入文本到 file 第 2 行之前 |
附加 | append | sed -i '2a append after line 2' file | 附加文本到 file 第 2 行之后 |
转换 | transform | sed -i 'y/123/456' file | 修改 file 中 123 对应为 456 |
插入多行
sed -i '2a \
line 1 \
line 2
' test.txt