grep
用途
场景
原理
语法
示例
sed
用途
场景
原理
语法
示例
# 过滤掉 zabbix_agent.conf 文件中的空行和注释行$ grep -Ev '^$|^#' zabbix_agent.conf# 解释:# 1. 参数 -v 表示需要将匹配的内容过滤排除# 2. 参数 -E 表示支持正则表达式# 3. 参数 '^$|^#' ^$表示空行,^#表示以#开头的行,整个参数也可以用双引号包裹
awk
用途
场景
原理
语法
| AWK内置变量 |
|
| FS |
输入字段分隔符, 默认为空白字符 |
| OFS |
输出字段分隔符, 默认为空白字符 |
| RS |
输入记录分隔符(输入换行符), 指定输入时的换行符 |
| ORS |
输出记录分隔符(输出换行符),输出时用指定符号代替换行符 |
| NF |
Number of Field,当前行的字段的个数(即当前行被分割成了几列),字段数量 |
| NR |
行号,当前处理的文本行的行号 |
| FNR |
各文件分别计数的行号 |
| FILENAME |
当前文件名 |
| ARGC |
命令行参数的个数 |
| ARGV |
数组,保存的是命令行所给定的各参数 |
示例
# 展示csv文件的第一行的列数$ head -n1 file.csv | awk -F ',' '{print NF}'# 展示csv文件的第一和第三列数据$ cat file.csv | awk -F ',' '{print $1,$3}'# 展示csv文件的除了第一列以外的其他列数据$ cat file.csv | awk -F ',' '{$1=""; print $0}'# 过滤csv文件中以xxx开头的行,并展示第一和第三列数据$ grep ^xxx file.csv | awk -F ',' '{print $1,$3}'# 过滤csv文件中第二列为xxx的行,并展示第一和第三列数据$ cat file.csv | awk -F ',' '{if($1 == "xxx") print $1,$3}'