它将打印从 1 到 10 的数字,每个数字占一行。
awk 'BEGIN{for(i=1;i<=10;i++) print i}'
BEGIN: 这是一个特殊的模式,表示在读取任何输入行之前执行其后的动作。
{for(i=1;i<=10;i++) print i}: 这是一个 for 循环,它从 i=1 开始,每次增加 i 的值,直到 i 达到或超过 10。在每次循环中,它都会打印出 i 的当前值。
打印文件的每一行
awk '{print}' filename
打印文件的第一列
假设文件内容是以空格或制表符分隔的
awk '{print $1}' filename
打印包含 "error" 的行
awk '/error/ {print}' filename
打印每行的行号和内容
awk '{print NR, $0}' filename
计算文件中的行数
awk 'END {print NR}' filename
计算第一列的总和
awk '{sum += $1} END {print sum}' filename
查找并打印大于 50 的数字(假设第一列是数字)
awk '$1 > 50 {print}' filename
使用内置函数(如 sqrt)
awk '{print sqrt($1)}' filename
按第一列排序(注意:这只是一个排序示例,实际上需要使用 sort 命令)
awk '{print $1, $0}' filename | sort -k1,1n
使用多个分隔符(例如,逗号和空格)
awk -F'[ ,]' '{print $2, $3}' filename
这里,-F'[ ,]' 告诉 awk 使用空格或逗号作为字段分隔符