Technorati 标签: awk

原帖地址:Classical 10 Examples for learning AWK

很久不用awk了,一直认为学习的最佳方式是通读->实践->总结的过程。

原帖讲的很详细了,很不错,都是很简单的题目。我在这里记录下自己关于每个题目的总结:

e1:

1.“%-s”是左对齐,”%s”是右对齐,对齐方式由正负号表示。

e2:

note:grep "Europe" contries一样可以达到效果。

e5:

awk可以直接从命令行读取或从文件读取

  • awk [options] 'script' var=value file(s)

  • awk [options] -f scriptfile var=value file(s)

e6:

应该这么写?

#!/usr/bin/awk
{print $0}

note:print会自动换行,而printf不会。

e7:

FILENAME: 当前文件名

OFS:输出字段分隔符(默认空格)

ORS:输出记录分隔符(默认回车)

比如可以这么重写下:

#!/usr/bin/awk

BEGIN{FS=":";OFS="-";ORS="$\n"}

{

    printf FILENAME OFS\

        NR OFS\

        $1 OFS\

        $2 OFS\

        $3 OFS\

        $4 OFS\

        ORS

}

输出结果:

contries-1-Canada-3852-25-North America-$
contries-2-USA-3615-237-North America-$
contries-3-Brazil-3286-134-South America-$
contries-4-England-94-56-Europe-$
contries-5-France-211-55-Europe-$
contries-6-Japan-144-120-Asia-$
contries-7-Mexico-762-78-North America-$
contries-8-China-3705-1032-Asia-$
contries-9-India-1267-746-Asia-$