Linux文本处理三剑客之 sed

sed是操作、过滤和转换文本内容的强大工具。常用功能包括对文件实现快速增删改查(增加、删除、修改、查询),其中查询的功能中最常用的两大功能是过滤(过滤指定字符串)、取行(取出指定行)。

以下是一些在使用过程中的案例总结:

  1. 过滤出包含字符的行
sed -n '//p'
  1. 替换 前面的内容 为空
sed -n '{s/^[[:space:]]*//;p;}'
  1. 替换空格及后面的内容为空
sed -n '{s/[[:space:]].*$//;p;}'
  1. 换行符替换为空格
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

你可能感兴趣的:(Linux文本处理三剑客之 sed)