📅  最后修改于: 2023-12-03 14:39:24.978000             🧑  作者: Mango
AWK 是一款流利行处理工具,它可以用于处理具有结构化格式的文本文件。使用 AWK 可以轻松地对文本文件进行计算、过滤、格式化和其他各种操作,适用于 Shell-Bash 环境。
通常,awk 中的操作会针对文件中的所有行。但是,在某些情况下,您可能想要针对选定的行执行操作,而不是所有行,这是 AWK 行范围的应用。
AWK 行范围允许您指定要处理的行号范围,即从第几行到第几行,而不是整个文件。这对于那些希望对大型文件的特定部分执行操作的用户非常有用。
awk 'NR>=start_row && NR<=end_row {action}' filename
其中 start_row 和 end_row 是您想要操作的行的范围。 NR 表示当前正在处理的行的行号。 action 是你的命令或代码,如果行号在范围内,则命令或代码将被执行。
下面是一个简单的 AWK 命令,它使用行范围从第 5 行到第 10 行。
awk 'NR>=5 && NR<=10 {print}' filename
这条命令会打印从第 5 行到第 10 行的每一行。
您还可以在行范围内执行其他操作。例如,您可以使用特定列操作来处理只包含在行范围内的列。
awk -F ',' 'NR>=5 && NR<=10 {print $1, $3}' filename
该命令将在范围内处理第一列和第三列,并仅打印这些列。
通过 AWK 行范围功能,您可以准确地控制要处理的行。这种方法仅需要处理特定的行,而不是处理整个文件,可以提供更高的性能和更好的效果。