У меня есть файл, содержащий около 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
Я взял 10 верхних строк из файла missinglinksA.txt и создал сценарий для проверки каждой строки, и это тоже не работает, пустой вывод.
[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]#
Взяв копии с ваших "кошек", я могу получить ожидаемые результаты с помощью следующей команды:
$ fgrep -f missingLinksA.txt missingLinks.txt
125098 2.png.Published
125022 3.pdf.Published
Надеюсь, это поможет.