以下是常用的 AWK 命令示例:
显示文件内容:
awk '{print}' file.txt
:打印文件的所有行。
按列打印内容:
awk '{print $1}' file.txt
:打印文件的第一列。awk '{print $1, $3}' file.txt
:打印文件的第一列和第三列。
计算行数、列数和字符数:
awk 'END {print NR}' file.txt
:计算文件的行数。awk '{print NF}' file.txt
:计算每行的列数。awk '{c+=length()} END{print c}' file.txt
:计算文件的字符数。
使用分隔符:
awk -F':' '{print $1, $NF}' file.txt
:使用冒号作为分隔符打印第一列和最后一列。awk 'BEGIN{FS=":"} {print $1, $NF}' file.txt
:在命令内部设置分隔符。
匹配模式:
awk '/pattern/ {print}' file.txt
:打印包含特定模式的行。awk '$1 == "value" {print}' file.txt
:根据字段值进行匹配并打印相应的行。
条件语句:
awk '{if ($1 > 10) print}' file.txt
:如果第一列大于10,则打印该行。awk '{print ($2 > 50) ? "High" : "Low"}' file.txt
:根据第二列的值打印 "High" 或 "Low"。
数学计算:
awk '{sum += $1} END {print sum}' file.txt
:计算第一列的总和。awk '{avg += $1; count++} END {print avg/count}' file.txt
:计算第一列的平均值。
数组操作:
awk '{arr[$1]++} END {for (i in arr) print i, arr[i]}' file.txt
:统计第一列中每个值出现的次数。
字符串处理:
awk '{sub("old", "new", $1)} 1' file.txt
:将第一列中的第一个 "old" 替换为 "new"。awk '{gsub("old", "new", $1)} 1' file.txt
:将第一列中所有的 "old" 替换为 "new"。
循环操作:
awk '{for(i=1;i<=NF;i++) print $i}' file.txt
:循环打印每行的每个字段。awk '{while(getline < "file2.txt") print $1, $NF}' file.txt
:在 awk 中嵌套使用 getline 语句。
输出指定字段长度的内容:
awk 'length($1) > 5 {print}' file.txt
:打印第一列长度超过5的行。
对字段进行格式化:
awk '{printf "%-10s %-5s\n", $1, $2}' file.txt
:指定字段宽度并左对齐打印第一列和第二列。
删除重复行:
awk '!seen[$0]++' file.txt
:删除文件中的重复行。
统计文件中的行数、单词数和字符数:
awk 'BEGIN{lines=0; words=0; characters=0;} {lines++; words+=NF; characters+=length()+1;} END{print lines, words, characters;}' file.txt
:统计行数、单词数和字符数。
分组统计:
awk '{count[$1]++; sum[$1]+=$2} END{for(i in count) print i, count[i], sum[i]}' file.txt
:根据第一列的值进行分组,并统计每个组的频次和总和。
格式化输出:
awk '{printf "%-10s %5d\n", $1, $2}' file.txt
:指定字段宽度并右对齐打印第一列和第二列。
字段联合操作:
awk '{$3 = $1 $2; print}' file.txt
:将第一列和第二列拼接后赋值给第三列,然后打印所有列。
自定义输出分隔符:
awk 'BEGIN{OFS=","} {print $1, $2}' file.txt
:指定逗号作为输出分隔符打印第一列和第二列。
字符串截取:
awk '{print substr($1, 1, 3)}' file.txt
:打印第一列的前三个字符。
运行外部命令并获取结果:
awk '{cmd="echo "$1; cmd | getline result; print result}' file.txt
:运行外部命令(此处为 echo)并获取其输出结果。
这些是另外一批常用的 AWK 命令示例,可以根据具体需求进行调整和组合使用。AWK 提供了丰富的功能来处理文本文件中的数据,您可以根据您的需要选择适当的命令和操作。如果您有特定的问题或需求,请提供更多详细信息,我将尽力提供帮助。