sed是操作、过滤和转换文本内容的强大工具。常用功能包括对文件实现快速增删改查(增加、删除、修改、查询),其中查询的功能中最常用的两大功能是过滤(过滤指定字符串)、取行(取出指定行)。
以下是一些在使用过程中的案例总结:
- 过滤出包含字符<none>的行
sed -n '/<none>/p'
- 替换 <none> 前面的内容 为空
sed -n '{s/^[[:space:]]*//;p;}'
- 替换空格及后面的内容为空
sed -n '{s/[[:space:]].*$//;p;}'
- 换行符替换为空格
sed -n 's/\n/ /;p;' | sed ":label;N;s/\n/ /;b label"
跟之前 grep 命令格式类似,sed命令格式如下:
sed [选项] [sed内置命令字符] [输入文件]
选项命令主要有两个:
-n
取消默认的 sed 的输出,常与 sed 内置命令p 连用。
-i
直接修改文件内容,而不是只输出到终端。
内置命令主要实现对文件的操作,例如增删改,主要有 4 个:
a
全称 append,表示追加文本,在指定行后追加一行或多行内容
d
全称 delete,表示删除匹配行的文本
i
全称 insert,表示插入文本,在指定行前插入一行或多行内容
p
全称 print,表示打印匹配行的内容。
s/regexp/replacement/
匹配 regexp 部分的文本,并用replacement替换之,通常结尾跟 g 连用,表示全局替换 s/regexp/replacement/g
网友评论