|
假设文件 pass.txt 的内容为:yes:no:hi:hello:maybe:welcome
ok:awk:bird:amd:tmd:intel:ati
name:linux:unix:gnu:bsd:open
suse:ubuntu:fedora:redhat:now
china:usa:korea:japan:enland:old
awk 打印出含有 welcome 字样的一行:[beyes@localhost basic_test]$ awk '/welcome/' pass.txt
yes:no:hi:hello:maybe:welcome
打印出文本中的第一列内容:[beyes@localhost basic_test]$ awk -F: '{print $1}' pass.txt
yes
ok
name
suse
china 说明:
1、上面 -F: 中的 -F参数后面接文本的分隔符,上面文本的分隔符为冒号 :
2、Each field in the input record may be referenced by its position, $1,$2, and so on. $0 is the whole record.
输入记录中的每一个域可以由 $1,$2 等等这样的位置参数来指定。$0 指的是整个记录。下面的例子可以看到:
输入:[beyes@localhost basic_test]$ awk -F: '{print $3}' pass.txt
或
[beyes@localhost basic_test]$ awk -F: '{print $(n=3)}' pass.txt
都可以看到输出:
hi
bird
unix
fedora
korea
若指定的是参数 $0 ,那么输出的是整个文本内容。
带有进一步限制性的选择输出,如输入以下命令并可以看到输出:[beyes@localhost basic_test]$ awk -F: '/awk/{print $1,$2}' pass.txt
ok awk 解读:
在引号的命令中,/awk/ 表示,先要找到含有 awk 字样的行,然后接着输出这行的 $1 和 $2 两个域的内容。 |
|