grep

用途

场景

原理

语法

示例

sed

用途

场景

原理

语法

示例

  1. # 过滤掉 zabbix_agent.conf 文件中的空行和注释行
  2. $ grep -Ev '^$|^#' zabbix_agent.conf
  3. # 解释:
  4. # 1. 参数 -v 表示需要将匹配的内容过滤排除
  5. # 2. 参数 -E 表示支持正则表达式
  6. # 3. 参数 '^$|^#' ^$表示空行,^#表示以#开头的行,整个参数也可以用双引号包裹

awk

用途

场景

原理

语法

AWK内置变量
FS 输入字段分隔符, 默认为空白字符
OFS 输出字段分隔符, 默认为空白字符
RS 输入记录分隔符(输入换行符), 指定输入时的换行符
ORS 输出记录分隔符(输出换行符),输出时用指定符号代替换行符
NF Number of Field,当前行的字段的个数(即当前行被分割成了几列),字段数量
NR 行号,当前处理的文本行的行号
FNR 各文件分别计数的行号
FILENAME 当前文件名
ARGC 命令行参数的个数
ARGV 数组,保存的是命令行所给定的各参数

示例

  1. # 展示csv文件的第一行的列数
  2. $ head -n1 file.csv | awk -F ',' '{print NF}'
  3. # 展示csv文件的第一和第三列数据
  4. $ cat file.csv | awk -F ',' '{print $1,$3}'
  5. # 展示csv文件的除了第一列以外的其他列数据
  6. $ cat file.csv | awk -F ',' '{$1=""; print $0}'
  7. # 过滤csv文件中以xxx开头的行,并展示第一和第三列数据
  8. $ grep ^xxx file.csv | awk -F ',' '{print $1,$3}'
  9. # 过滤csv文件中第二列为xxx的行,并展示第一和第三列数据
  10. $ cat file.csv | awk -F ',' '{if($1 == "xxx") print $1,$3}'