簡體   English   中英

從文件grep命令

[英]Grep order from file

我有2個文件。
在第一個文件中,我有teplates,我想在第二個文件中找到。
我如何在輸出的第一個文件中使用grep保存順序。
例:

文件1:
一種
DC

文件2:
aadfadf
asdva
VAAD
一種
dccsads
ASAS

我用這個命令:
grep -f file1 file2 >> file3

這會有點慢但很簡單:

TEMP1=$(mktemp /tmp/grep.XXXXXXXXXXX)
TEMP2=$(mktemp /tmp/grep.XXXXXXXXXXX)
cat file2 > $TEMP1
cat file1 | while read line
do 
  grep "$line" $TEMP1
  grep -v "$line" $TEMP1 > $TEMP2
  mv $TEMP2 $TEMP1
done > result
rm $TEMP2 $TEMP1

結果中的result列表。

我使用臨時文件$TEMP1$TEMP2grep -v來避免結果中的重復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM