快速查找 sed 常用命令
sed 行编辑
功能 | 助记词 | 命令 | 意义 |
---|---|---|---|
替换 | substitute | sed -i 's/dog/cat/g' file | 将 file 中的 dog 替换为 cat |
sed -i '/word/s/^/#/' file | 将 file 匹配 word 行首插入 # | ||
sed -i '2s/dog/cat/' file | 将 file 第 2 行的 dog 替换为 cat | ||
sed -i '2,$s/dog/cat/' file | 将 file 第 2~最后行的 dog 替换为 cat | ||
行首尾 | sed 's/^[ ]*//g' | 去除行首空格 | |
sed 's/[ ]*$//g' | 去除行尾空格 | ||
sed 's/[[:space:]]//g' | 去除所有空格 | ||
sed '3,10s/^/export /' | 从 3 到 10 行首插入 export | ||
删除 | 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 '1i insert before line 1' file | 插入文本到 file 第 1 行之前 |
sed -i '$i insert before the last line' file | 插入文本到 file 末行之前 | ||
附加 | append | sed -i '1a append after line 1' file | 附加文本到 file 第 1 行之后 |
sed -i '$a\ 1 space after the last line' file | 附加行首 1 空格到 file 末行之后 | ||
转换 | transform | sed -i 'y/123/456' file | 修改 file 中 123 对应为 456 |
插入多行
sed -i '2a \
line 1 \
line 2
' test.txt