我有如下文件:
这是一个示例文件,该文件将用于测试
this is a sample file
this file will be used for testing
Run Code Online (Sandbox Code Playgroud)
我想用AWK计算单词.
预期的产出是
this 2
is 1
a 1
sample 1
file 2
will 1
be 1
used 1
for 1
Run Code Online (Sandbox Code Playgroud)
以下AWK我写过,但得到一些错误
cat anyfile.txt|awk -F" "'{for(i=1;i<=NF;i++) a[$i]++} END {for(k in a) print k,a[k]}'
Run Code Online (Sandbox Code Playgroud)
这对我来说可以:
awk '{for(i=1;i<=NF;i++) a[$i]++} END {for(k in a) print k,a[k]}' testfile
used 1
this 2
be 1
a 1
for 1
testing 1
file 2
will 1
sample 1
is 1
Run Code Online (Sandbox Code Playgroud)
PS你不需要设置-F" ",因为它的默认任何空白.
PS2,不要使用cat可以自己读取数据的程序,比如awk
您可以添加sort代码以对其进行排序.
awk '{for(i=1;i<=NF;i++) a[$i]++} END {for(k in a) print k,a[k]}' testfile | sort -k 2 -n
a 1
be 1
for 1
is 1
sample 1
testing 1
used 1
will 1
file 2
this 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15025 次 |
| 最近记录: |