# 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
# 最佳实践
字段处理
- 合理选择字段分隔符
- 注意处理空字段
条件语句使用
- 使用模式匹配过滤数据
- 合理组合多个条件
变量使用
- 善用内置变量
- 合理使用自定义变量
性能优化
- 减少不必要的打印操作
- 合理使用正则表达式
- 大文件处理时注意内存使用