File1.txt 파일이 2개 있습니다.
Column1 | Column2
username2 | timestamp
username1 | timestamp
username4 | timestamp
파일 2.txt:
Column1 | Column2
username1 | timestamp
username3 | timestamp
username2 | timestamp
Column1 값과 일치하는 위치를 Column1의 내용만 표시하는 새 파일로 출력하고 싶습니다. Column1의 값은 file1.txt와 file2.txt 사이에서 항상 동일한 순서로 되어 있지 않으며, 두 파일 모두에서 일부 항목이 누락되어 있습니다.
출력-File3.txt
열 1
사용자 이름 1
사용자 이름 2
답변1
사용awk
awk -F ' *| *' 'NR==FNR{a[$1];next}($1 in a)' file1 file2
배열은 a
첫 번째 file1 열의 내용으로 채워집니다. 다음 파일을 구문 분석할 때 항목 배열과 일치하는 행만 인쇄됩니다.
답변2
두 파일 모두에서 열 1을 추출하고 정렬한 후 중복 행을 찾습니다.
cut -d" " -f1 File1.txt File2.txt | sort | uniq -d
답변3
비교하기 전에 두 파일을 정렬하세요.
sort f1 > f1s
sort f2 > f2s
diff f1s f2s