Shell 入门(三):sed,awk,grep
2.6.1 sed
sed
是一种在线的,非交互式的流编辑器(stream editor)。- 非交互式:指使用
sed
只能在命令行下输入编辑命令来编辑文本,然后再屏幕上查看输出; - 流编辑器:指
sed
每次只从文件(或输入)读入一行,然后对该行进行指定的处理,并将结果输出到屏幕,接着读入下一行。
- 非交互式:指使用
sed
一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed
命令处理缓冲区(pattern space)中的内容,处理完成后,把缓冲区(pattern space)的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。
2.6.2 awk
awk
是一种编程语言,用于在 Linux/Unix 下对文本和数据进行处理。数据可以来自标准输入,一个或多个文件,或其他命令的输出。- 内置变量:
FS
: 列分隔符,指定每行文本的字段分隔符,默认为 空格或tab。与 "-F" 作用相同;NF
: 当前处理行的字段个数NR
: 当前处理行的行号$0
:当前处理行的整行内容$n
: 当前处理行的第 n 个字段(第 n 列)RS
: 行分隔符
TODO:待完善
参考链接: