我有一个文件有大约 63000 行,我需要 grep
[root@server]# cat missinglinks.txt
69870 1.pdf.Published
125098 2.png.Published
125022 3.pdf.Published
69867 4.png.Published
我有一份包含 450 个数字的列表,这些数字与 missinglinks.txt 文件中的某些行匹配
[root@server]# cat missinglinksA.sh
125105
125104
125103
125102
125100
125099
125098
125097
125022
我正在尝试使用脚本从 missinglinksA.sh 和 grep missinglinks.txt 中取出第一行并输出到文件,然后取出第二行,n.....
for n in $(cat missinglinksA.txt)
do
cat missinglinks.txt | grep $n
done
我想要一个像这样的输出文件:
[root@server]# cat missinglinksAout.txt
125098 2.png.Published
125022 3.pdf.Published
但是,我无法在屏幕上或文本文件中获得输出,我不确定我是否做错了什么或者脚本是否根本没有输出。
我有 -o -i 似乎都无法解决这个问题。
我可以:
[root@server]# cat missinglinksA.txt | grep 125098 >> missinglinksAout.txt
并且它有效。
[root@server]# cat missinglinksAout.txt
125098 2.png.Published
我从 missinglinksA.txt 文件中取出了前 10 行,并编写了一个脚本来检查每一行,但这也不起作用,输出为空白。
[root@server]# cat missinglinksAtesteachline.sh
cat missinglinksA.txt | grep 125105
cat missinglinksA.txt | grep 125104
cat missinglinksA.txt | grep 125103
cat missinglinksA.txt | grep 125102
cat missinglinksA.txt | grep 125100
cat missinglinksA.txt | grep 125099
cat missinglinksA.txt | grep 125098
cat missinglinksA.txt | grep 125097
cat missinglinksA.txt | grep 125022
[root@server]# sh missinglinksAtesteachline.sh
[root@server]#
答案1
从您的“猫”中获取副本后,我可以使用以下命令获得预期的结果:
$ fgrep -f missingLinksA.txt missingLinks.txt
125098 2.png.Published
125022 3.pdf.Published
我希望这有帮助。