我需要编写一个shell脚本来查找一个文件的内容[此文件的所有内容]到另一个文件旁边,它显示行号和内容的总出现次数作为输出。
#!/bin/ksh
file="/home/ashish/contents.txt"
while read -r line;
do
grep $line /home/ashish/first.csv
done < "$file"
例如: 第一个文件包含此代码 “at java.lang.Object.wait(Native Method) - 在weblogic.rjvm.ResponseImpl.waitForData(ResponseImpl.java:76)上等待&lt; 0x272d5c18&gt;(weblogic.rjvm.ResponseImpl) - 已锁定&lt; 0x272d5c18&gt;(一个weblogic.rjvm.ResponseImpl)“ 第二个文件包含批量的代码,所以我需要计算第二个文件中第一个文件中的代码出现次数 输出=第一个文件中的代码出现在第二个文件中的次数以及行号(如果可能)。
答案 0 :(得分:0)
你可以简单地grep内容,可能会有重复的条目,所以最后只需将输出传递给sort -u
或sort | uniq
像:
while read -r line;do echo -n $(grep -c $line /home/ashish/first.csv); echo " $line";done <"$file" | sort -u
grep -c
将计算出现次数
sort -u
将对输出进行唯一排序