sed 和awq常用指令

sed 和awq常用指令

操作

示例

含义解析

输出文本

sed ‘1p’ a.txt 或

sed -n ‘p’ a.txt

输出所有行,等同于cat a.txt

sed -n ‘1p’ a.txt

输出第1行

sed -n ‘4p’ a.txt

输出第4行

sed -n ‘$p’ a.txt

sed -n ‘5,$p’ a.txt

从第5行输出到最后一行

sed -n ‘4,7p’ a.txt

输出第4~7行

sed -n ‘4,+10p’ a.txt

输出第4行及其后的10行内容,共11行

sed -n ‘2p;5p;7p’ a.txt

sed -n ‘{2p;5p;7p}’ a.txt

输出第2,5,7行 用分号来隔离多个操作(如果有定址条件,则应该使用{ }括起来)

sed -n ‘/a/p’ a.txt

sed -n ‘/A/p’ a.txt

sed -n ‘/^id/p’ a.txt

列出以id开头的行:

sed -n ‘/a/p;/r/p’ a.txt

sed -n ‘/local$/p’ a.txt

输出以local结尾的行

sed -n ‘p;n’ a.txt

输出奇数行,n表示读入下一行文本(隔行)next

sed -n ‘n;p’ a.txt

输出偶数行,n表示读入下一行文本(隔行)

sed -n ‘$=’ a.txt

输出文件的行数, wc -l返回行数及文件名

删除文本

sed ‘d’ a.txt

删除所有

sed ‘$d’ a.txt

删除文件的最后一行

sed ‘/^$/d’ a.txt

删除所有空行

sed ‘1d’ a.txt

删除第1行

sed ‘2,5d’ a.txt

删除第2~5行

sed ‘5d;7d;9d’ a.txt

删除第5、7、9行

sed ‘/init/d;/bin/d’ a.txt

删除所有包含“init”及“bin”的行

sed ‘/[0-9]/d’ a.txt

sed ‘/^#/d’ a.txt

sed ‘/^s/d’ a.txt

sed -i ‘/^s/d’ a.txt

直接删除

sed ‘/^install/d’ a.txt

删除以install开头的行

sed ‘/xml/d’ a.txt

删除所有包含xml的行,只作输出,不更改原文件,若需要更改,应添加选项-i

sed ‘/xml/!d’ a.txt等效于

sed -n ‘/xml/p’ a.txt

删除不包含xml的行,!符号表示取反

替换文本

sed ‘s/xml/XML/’ a.txt

将每行中第1个xml替换为XML

sed ‘s/xml/XML/3’ a.txt

将每行中第3个xml替换为XML,只作输出,不更改原文件(若需要更改,应添加选项-i)

sed ‘2s/xml/XML/3’ a.txt

将第2行中第3个xml替换为XML,只作输出,不更改原文件(若需要更改,应添加选项-i)

sed ‘s/xml/XML/g’ a.txt

将所有的xml都替换为XML

sed ‘s/xml//g’ a.txt

将所有的xml都删除(替换为空串)

sed ‘s/doc/&s/g’ a.txt

将所有的doc都替换为docs,&代表查找串

sed ‘4,7s/^/#/’ a.txt

将第4~7行注释掉(行首加#号)

sed ‘3,5s/^#//’ a.txt

解除文件第3~5行的注释(去掉开头的 # )

sed ‘s/^#an/an/’ a.txt

解除以#an开头的行的注释(去除行首的#号)

sed ‘s/xml|XML|e//g’ a.txt

删除所有的“xml”、所有的“XML”、所有的字母e,或者的关系用转义方式 | 来表示

你可能感兴趣的:(sed 和awq常用指令)