Bash
grep大文件的腳本
我有一個大約 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 none 似乎解決了這個問題。
我可以:
[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]#
從您的“貓”中獲取副本,我可以使用以下命令產生預期的結果:
$ fgrep -f missingLinksA.txt missingLinks.txt 125098 2.png.Published 125022 3.pdf.Published
我希望這有幫助。