Linux 编写shell脚本,将一个文件的内容查找到另一个文件中,并显示所有当前文件

Linux 编写shell脚本,将一个文件的内容查找到另一个文件中,并显示所有当前文件,linux,bash,shell,unix,ubuntu,Linux,Bash,Shell,Unix,Ubuntu,我需要编写一个shell脚本,将一个文件的内容[此文件的所有内容]查找到另一个文件中,并将内容的行号和总出现次数显示为输出 #!/bin/ksh file="/home/ashish/contents.txt" while read -r line; do grep $line /home/ashish/first.csv done < "$file" #/bin/ksh file=“/home/ashish/contents.txt” 而read-r行; 做 grep$li

我需要编写一个shell脚本,将一个文件的内容[此文件的所有内容]查找到另一个文件中,并将内容的行号和总出现次数显示为输出

#!/bin/ksh
file="/home/ashish/contents.txt"

while read -r line; 
do
    grep $line /home/ashish/first.csv
done < "$file"
#/bin/ksh
file=“/home/ashish/contents.txt”
而read-r行;
做
grep$line/home/ashish/first.csv
完成<“$file”
例如: 第一个文件包含此代码 “在java.lang.Object.wait(本机方法)-在weblogic.rjvm.ResponseImpl.waitForData(ResponseImpl.java:76)等待(一个weblogic.rjvm.ResponseImpl)-锁定(一个weblogic.rjvm.ResponseImpl)” 第二个文件包含大量代码,因此我需要计算第二个文件中第一个文件中出现的代码数
输出=第一个文件中的代码与行号一起出现在第二个文件中的次数(如果可能)。

您可以简单地将内容变灰,并且可能会有重复的条目,因此在最后只需将输出输送到
排序-u
排序| uniq

比如:


读取-r行时
;do echo-n$(grep-c$line/home/ashish/first.csv);回音“$line”;完成请分享预期的结果BlueFoggy:他需要什么非常清楚@Ashish:我会分两步来做:第一个脚本为contents.txt中的每个条目创建一个较长的带有grep的脚本。假设我们有两个文件,分别是first和second,first和second的内容如下:hello hi second:hi hello我的名字是ashish,他对她说hi hello,她想要的输出应该是2//这是内容的发生,如果第二行中的第一行是第1行,第2行是第2行出现问题的位置编号请编辑您的问题并在那里显示预期的输出。第一个文件包含以下代码“at java.lang.Object.wait(本机方法)-waiting on(一个weblogic.rjvm.ResponseImpl)at weblogic.rjvm.ResponseImpl.waitForData(ResponseImpl.java:76)-locked(一个weblogic.rjvm.ResponseImpl)”第二个文件包含大量代码,因此我需要计算第二个文件输出中第一个文件中的代码出现次数=第一个文件中的代码出现在第二个文件中的次数。我需要搜索多行,这是只搜索一行。我的意思是如果我必须在第二个文件中搜索多个字符串
while read -r line;do  echo -n $(grep -c $line /home/ashish/first.csv); echo "  $line";done <"$file" | sort -u