字符串三剑客: sed
· 阅读需 2 分钟
sed
小技巧:
-
替换字符串:
sed 's/old_string/new_string/g' filename
这将在文件中将所有的
old_string
替换为new_string
。 -
删除行:
sed '/pattern/d' filename
这将删除包含指定模式的行。
-
在行首或行尾插入文本:
sed 's/^/prefix/' filename # 在每一行行首添加前缀
sed 's/$/suffix/' filename # 在每一行行尾添加后缀 -
显示特定行或行范围:
sed -n '5p' filename # 显示第5行
sed -n '5,10p' filename # 显示第5到第10行 -
使用变量:
my_variable="new_value"
sed "s/old_value/$my_variable/" filename -
多个替换:
sed -e 's/old1/new1/g' -e 's/old2/new2/g' filename
这可以在同一次
sed
命令中执行多个替换。 -
保留替换前的备份文件:
sed -i.bak 's/old_string/new_string/g' filename
-i.bak
将替换前的文件备份为.bak
文件。 -
仅显示匹配部分:
sed -n 's/pattern/\1/p' filename
这将仅显示匹配到的部分,使用
\1
表示匹配到的内容。 -
转换大小写:
sed 's/[a-z]/\U&/g' filename # 将小写字母转换为大写
sed 's/[A-Z]/\L&/g' filename # 将大写字母转换为小写\U
和\L
分别用于将后面的文本转换为大写和小写。