두 파일을 통신 없이 한 줄씩 비교합니다. (파일 1의 순서를 유지해야 합니다.)

두 파일을 통신 없이 한 줄씩 비교합니다. (파일 1의 순서를 유지해야 합니다.)

파일 1:

happy
sad
calm
palm

파일 2:

palm
dream
calm

이 두 파일을 비교하여 두 파일에 공통된 줄만 표시하고 싶지만 파일 2의 순서를 유지하고 싶습니다. 내 출력은 다음과 같아야합니다

palm
calm

파일을 정렬한 후 통신을 사용할 수 있다는 것을 알고 있지만 순서를 유지하고 싶습니다. 이를 수행할 수 있는 방법이 있습니까?

답변1

grep을 사용하세요:

$ grep -Ff f1 f2
palm
calm

남자 grep:

   -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.

관련 정보