awk 命令的基本语法是:
awk [选项] program [文件]
program 是要执行的 awk 操作,文件是要处理的文本文件。如果没有指定文件,awk 会从标准输入(stdin)读取数据。
假设有一个名为 data.txt 的文本文件,内容如下:
name: Alice
age: 20
gender: female
name: Bob
age: 25
gender: male
name: Charlie
age: 30
gender: male
- 打印所有行:
awk '{ print }' data.txt
输出:
name:Alice
age:20
gender:female
name:Bob
age:25
gender:male
name:Charlie
age:30
gender:male
- 打印第一个字段(以空格为分隔符):
awk '{ print $1 }' data.txt
输出:
name:
age:
gender:
name:
age:
gender:
name:
age:
- 打印第二个字段和第三个字段,并用逗号分隔:
awk '{ print $2 "," $3 }' data.txt
输出:
Alice,
20,
female,
Bob,
25,
male,
Charlie,
30,
male,
- 打印包含 female 的行,并显示行号:
awk '/female/ { print NR ":" $0 }' data.txt
输出:
3:gender: female
- 计算所有人的年龄总和,并打印平均年龄:
awk '/^age/ { sum += $2; count++ } END { print "Average age = " sum/count }' data.txt
输出:
Average age = 25
这些只是一些简单的示例,如果您想了解更多关于 awk 的信息,请参考其他网页。
(1) AWK Tutorial: 25 Practical Examples of AWK Command in Linux. https://linuxhandbook.com/awk-command-tutorial/
(2) The GNU Awk User’s Guide. https://www.gnu.org/software/gawk/manual/gawk.html
(3) AWK command in Unix/Linux with examples - GeeksforGeeks. https://www.geeksforgeeks.org/awk-command-unixlinux-examples/