京东秋招数据分析对现有testfile文件内容求和

不定项选择题

例题:现有testfile文件内容如下所示
12
12
213
5434
3123
123
34
对所有数字求和,以下做法正确的是:

A. awk 'BEGIN{sum}{sum+$1}END{print sum}' testfile
B. awk 'BEGIN{sum =0}{sum+=$1}END{print sum}' testfile
C. awk '{sum+$1}END{print sum}' testfile
D. awk '{sum+=$1}END{print sum}' testfile

文本分析工具。grep更适合淡出的查找或者匹配,sed适合编辑匹配到的文本,awk适合格式化文本,对文本进行复杂的处理。
用法1:

1

awk '{[pattern] action}'  filenames # 行匹配语句 awk '' 只能用单引号

例如:
1.每行按空格或者Tab分割,输出每行的第1、4列。

1

awk '{print $1,$4}' log.txt # 格式化输出使用printf

分割字符由 -F指定,默认为空格或者Tab。$n引用由FS分割的第n个字段。
用法2:

1

awk 'BEGIN{执行前语句}{每一行执行的语句}END{所有行执行完后执行的语句}'

例如:
1.累加每行第一列数字

1

2

3

4

awk 'BEGIN{sum=0}{sum+=$1}{print sum}'

#也可以省略BEGIN

awk '{sum+=$1}{print sum}'

所以,答案选B、D 

猜你喜欢

转载自blog.csdn.net/qq_32572085/article/details/88428092