51. awk 命令语法
基础 Awk 命令语法:
awk -Fs '/pattern/ {action}' input-file
(or)
awk -Fs '{action}' intput-file
在上面的语法中:
-F是字段分隔符。 如果不指定,它将使用空格作为字段分隔符。/pattern/和{action}应括在单引号内(')。/pattern/是可选的。 如果您不提供它,awk 将处理输入文件中的所有记录。 如果指定pattern,它将仅处理输入文件中与给定pattern匹配的那些记录。{action}是 awk 编程命令,可以是一个或多个 awk 命令。 整个操作块(包括所有 awk 命令)应该在{和}之间闭合。intput-file需要被处理的输入文件
简单例子
以下是一个非常简单的示例,演示了 awk 语法:
$ awk -F: '/mail/ {print $1}' /etc/passwd
mail
mailnull
在上面的例子中:
-F:这表示输入文件中的字段分隔符是冒号:,即字段之间用冒号分隔。 请注意,您还可以将字段分隔符括在双引号内。-F":"也有效。/mail/是模式。 awk 将仅处理包含关键字mail的记录。{print $1}是动作。 该操作块仅包含一个 awk 命令,该命令打印与模式mail匹配记录的第一个字段/etc/passwd这是输入文件。
将 Awk 命令集成到单独的文件中
当您必须处理大量 awk 命令时,您可以在 awk 脚本文件 中指定/pattern/ {action}并调用它,如下所示。
awk -Fs -f myscript.awk input-file
myscript.awk 可以有任何文件扩展名(或没有扩展名)。 但是将扩展名保留为 .awk 更容易理解和维护。
您还可以在脚本文件本身中指定字段分隔符(更多信息请参见后面),然后调用它,如下所示:
awk -f myscript.awk input-file