# awk 命令

# 简介

awk是一个强大的文本处理工具,用于对结构化文本进行处理和分析。

# 语法

awk [选项] '模式 {动作}' [输入文件...]

# 常用选项

  • -F:指定字段分隔符
  • -v:设置变量
  • -f:从文件读取程序

# 内置变量

  • $0:整行内容
  • $1,$2,...:字段内容
  • NF:字段数量
  • NR:记录号
  • FS:输入字段分隔符
  • OFS:输出字段分隔符

# 使用示例

# 打印特定列
awk '{print $1}' file.txt

# 使用自定义分隔符
awk -F':' '{print $1}' /etc/passwd

# 条件过滤
awk '$3 > 100 {print $0}' file.txt

# 计算总和
awk '{sum += $1} END {print sum}' file.txt

# 格式化输出
awk '{printf "%s\t%s\n", $1, $2}' file.txt

# 多个分隔符
awk -F'[,:]' '{print $1, $2}' file.txt

# 处理特定行
awk 'NR>=5 && NR<=10' file.txt

# 最佳实践

  1. 字段处理

    • 合理选择字段分隔符
    • 注意处理空字段
  2. 条件语句使用

    • 使用模式匹配过滤数据
    • 合理组合多个条件
  3. 变量使用

    • 善用内置变量
    • 合理使用自定义变量
  4. 性能优化

    • 减少不必要的打印操作
    • 合理使用正则表达式
    • 大文件处理时注意内存使用