常用的 AWK 命令20条

以下是常用的 AWK 命令示例:

  1. 显示文件内容:

    • awk '{print}' file.txt:打印文件的所有行。
  2. 按列打印内容:

    • awk '{print $1}' file.txt:打印文件的第一列。
    • awk '{print $1, $3}' file.txt:打印文件的第一列和第三列。
  3. 计算行数、列数和字符数:

    • awk 'END {print NR}' file.txt:计算文件的行数。
    • awk '{print NF}' file.txt:计算每行的列数。
    • awk '{c+=length()} END{print c}' file.txt:计算文件的字符数。
  4. 使用分隔符:

    • awk -F':' '{print $1, $NF}' file.txt:使用冒号作为分隔符打印第一列和最后一列。
    • awk 'BEGIN{FS=":"} {print $1, $NF}' file.txt:在命令内部设置分隔符。
  5. 匹配模式:

    • awk '/pattern/ {print}' file.txt:打印包含特定模式的行。
    • awk '$1 == "value" {print}' file.txt:根据字段值进行匹配并打印相应的行。
  6. 条件语句:

    • awk '{if ($1 > 10) print}' file.txt:如果第一列大于10,则打印该行。
    • awk '{print ($2 > 50) ? "High" : "Low"}' file.txt:根据第二列的值打印 “High” 或 “Low”。
  7. 数学计算:

    • awk '{sum += $1} END {print sum}' file.txt:计算第一列的总和。
    • awk '{avg += $1; count++} END {print avg/count}' file.txt:计算第一列的平均值。
  8. 数组操作:

    • awk '{arr[$1]++} END {for (i in arr) print i, arr[i]}' file.txt:统计第一列中每个值出现的次数。
  9. 字符串处理:

    • awk '{sub("old", "new", $1)} 1' file.txt:将第一列中的第一个 “old” 替换为 “new”。
    • awk '{gsub("old", "new", $1)} 1' file.txt:将第一列中所有的 “old” 替换为 “new”。
  10. 循环操作:

    扫描二维码关注公众号,回复: 16065847 查看本文章
    • awk '{for(i=1;i<=NF;i++) print $i}' file.txt:循环打印每行的每个字段。
    • awk '{while(getline < "file2.txt") print $1, $NF}' file.txt:在 awk 中嵌套使用 getline 语句。
  11. 输出指定字段长度的内容:

    • awk 'length($1) > 5 {print}' file.txt:打印第一列长度超过5的行。
  12. 对字段进行格式化:

    • awk '{printf "%-10s %-5s\n", $1, $2}' file.txt:指定字段宽度并左对齐打印第一列和第二列。
  13. 删除重复行:

    • awk '!seen[$0]++' file.txt:删除文件中的重复行。
  14. 统计文件中的行数、单词数和字符数:

    • awk 'BEGIN{lines=0; words=0; characters=0;} {lines++; words+=NF; characters+=length()+1;} END{print lines, words, characters;}' file.txt:统计行数、单词数和字符数。
  15. 分组统计:

    • awk '{count[$1]++; sum[$1]+=$2} END{for(i in count) print i, count[i], sum[i]}' file.txt:根据第一列的值进行分组,并统计每个组的频次和总和。
  16. 格式化输出:

    • awk '{printf "%-10s %5d\n", $1, $2}' file.txt:指定字段宽度并右对齐打印第一列和第二列。
  17. 字段联合操作:

    • awk '{$3 = $1 $2; print}' file.txt:将第一列和第二列拼接后赋值给第三列,然后打印所有列。
  18. 自定义输出分隔符:

    • awk 'BEGIN{OFS=","} {print $1, $2}' file.txt:指定逗号作为输出分隔符打印第一列和第二列。
  19. 字符串截取:

    • awk '{print substr($1, 1, 3)}' file.txt:打印第一列的前三个字符。
  20. 运行外部命令并获取结果:

    • awk '{cmd="echo "$1; cmd | getline result; print result}' file.txt:运行外部命令(此处为 echo)并获取其输出结果。

这些是另外一批常用的 AWK 命令示例,可以根据具体需求进行调整和组合使用。AWK 提供了丰富的功能来处理文本文件中的数据,您可以根据您的需要选择适当的命令和操作。如果您有特定的问题或需求,请提供更多详细信息,我将尽力提供帮助。

猜你喜欢

转载自blog.csdn.net/m0_55877125/article/details/132098204