4.12 打印文件或行中的第n个单词或列
我们可能有一个包含了多列数据的文件,不过只有其中的一小部分能派上用场。为了只打印相关的列或字段,我们得进行过滤。
4.12.1 预备知识
处理这种任务最为广泛的方法就是借助awk
。当然,用cut
也可以。
4.12.2 实战演练
用下面的命令打印第5列:
- $ awk '{ print $5 }' filename
也可以打印多列数据,并在列间插入指定的字符串。
比如,要打印当前目录下各文件的权限和文件名,可以使用:
- $ ls -l | awk '{ print $1" : " $8 }'
- -rw-r--r-- : delimited_data.txt
- -rw-r--r-- : obfuscated.txt
- -rw-r--r-- : paste1.txt
- -rw-r--r-- : paste2.txt
4.12.3 参考
4.7节讲解了
awk
命令。4.4节讲解了如何从文本文件中提取数据。