我想做Unix脚本,打印一个uniq单词列表形成文件并打印该单词出现的行数列表。
对于示例文件.txt
Lorem
ipsum dolor elit,
Lorem elit.
输出
Lorem 1,3
ipsum 2
dolor 2
elit 2,3
我的代码:
cat file.txt | tr '[:space:]' '[\n*]'| tr '[:digit:]' '[\n*]'| tr '[:punct:]' '[\n*]' | grep -v "^\s*$" | sort -f | uniq
我不知道该怎么做...有人可以帮助我吗?
最佳答案
此 awk 代码适用于您的示例:
awk '{for(i=1;i<=NF;i++){
gsub(/[.,:;]/,"",$i)
a[$i]=($i in a)?a[$i]","NR:NR}}
END{for(x in a)print x,a[x]}' file
关于linux - bash 文件中的单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50955781/