4.12 打印文件或行中的第n个单词或列

我们可能有一个包含了多列数据的文件,不过只有其中的一小部分能派上用场。为了只打印相关的列或字段,我们得进行过滤。

4.12.1 预备知识

处理这种任务最为广泛的方法就是借助awk。当然,用cut也可以。

4.12.2 实战演练

用下面的命令打印第5列:

  1. $ awk '{ print $5 }' filename

也可以打印多列数据,并在列间插入指定的字符串。

比如,要打印当前目录下各文件的权限和文件名,可以使用:

  1. $ ls -l | awk '{ print $1" : " $8 }'
  2. -rw-r--r-- : delimited_data.txt
  3. -rw-r--r-- : obfuscated.txt
  4. -rw-r--r-- : paste1.txt
  5. -rw-r--r-- : paste2.txt

4.12.3 参考

  • 4.7节讲解了awk命令。

  • 4.4节讲解了如何从文本文件中提取数据。