Linux/Unix:Awk打印变量

时间:2020-01-09 10:37:32  来源:igfitidea点击:

在Linux或Unix等操作系统下,如何使用Awk解释型编程语言打印变量?

AWK模式扫描和处理语言。
它小巧,快速,简单。
它具有简洁的语法,对文本处理最有用。

awk具有自动设置的内置变量。
例如,$0变量保存整个当前输入行。
在此示例中,使用awk打印hello world:

echo 'Hello world' | awk '{ print 
Hello world
}'

输出示例:

echo 3 4 | awk '{ print  +  }'

在以下示例中,将两个值传递给awk以打印加法:

7

输出示例:

echo This is a test |awk '{print }'

要从输入中打印第三个单词,请输入:

a

输出示例:

$ cat foo.txt

打印文本文件

创建一个名为foo.txt的文件:

Holding on to anger is like grasping a hot coal with the intent of throwing it at someone else; you are the one who gets burned. 
In a controversy the instant we feel anger we have already ceased striving for the truth, and have begun striving for ourselves.

输出示例:

awk '{ print }' foo.txt

要逐行打印整个文件,请输入:

awk '{ print 
awk 'BEGIN{x=3; y=4;}END{ print "x=" x " and y=" y}'</dev/null
}' foo.txt

或者

echo|awk 'BEGIN{x=3; y=4; total=0}{ total= x+y}END{ print x " + " y " = " total }'

awk定义并打印变量

创建一个名为x和y的变量:

7

要打印x和y的总数,请输入:

echo Total 5000.5686 | awk '{ printf "%s $%.2f\n", ,  }'

输出示例:

Total 00.57

printf

要格式化和打印,请使用printf语句。

printf的工作方式类似于c printf。

$ man awk

输出示例:

##代码##

有关更多详细信息,请参见awk手册页:

##代码##