Text-Processing

不使用 comm 逐行比較兩個文件(我需要保持文件 1 的順序)

  • November 9, 2016

文件 1:

happy
sad
calm
palm

文件 2:

palm
dream
calm

我想比較這兩個文件並只顯示兩個文件中共有的那些行,但我想保持文件 2 的順序。我的輸出應該是:

palm
calm

我知道我可以在對文件進行排序後使用 comm 但我想保持順序。有沒有辦法做到這一點?

使用 grep:

$ grep -Ff f1 f2
palm
calm

男子握把:

  -F, --fixed-strings
         Interpret PATTERN as a list of fixed strings (instead of regular
         expressions), separated by newlines,  any  of  which  is  to  be
         matched.
  -f FILE, --file=FILE
         Obtain patterns from FILE, one per line.  If this option is used
         multiple times or is combined with  the  -e  (--regexp)  option,
         search  for  all  patterns  given.  The empty file contains zero
         patterns, and therefore matches nothing.

引用自:https://unix.stackexchange.com/questions/322121