awk
- 命令行格式
1
awk [-F field-separator] 'commands' input-file(s)
- 默认以空格或tab分割域,-F后可以跟一个自定义域分隔符。
- commands表示awk命令,如print。
- input-file表示输入的文件。
- shell脚本方式
可以将所有awk命令插入一个文件,设置执行权限,然后将awk作为命令解释器(#!/bin/awk)执行。
- 将所有的awk命令插入一个单独文件,然后调用:其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的。
1
awk -f awk-script-file input-file(s)
sed
- 运行原理
- 当用sed命令对文本进行处理的时候,sed先读取对象的文本文件的第一行到模式空间中。
- 当有内容进入“模式空间”时,sed的编辑命令对模式空间中的内容进行编辑操作(修改,替换,删除,追加,显示等等)
- 模式空间中的内容编辑处理完成之后,sed把此内容通过标准输出(默认为显示器)打印出来,并删除模式空间中的内容。
- 第一行处理结束。从新读取第二行的内容进行处理,直到最后一行。
- 使用
两者区别和联系
sed的核心是正则,主要处理“行问题”。
awk的核心是格式化,主要处理“列问题”。