두 파일을 섞고 데이터를 병합합니다.

두 파일을 섞고 데이터를 병합합니다.

예: 두 개의 파일이 있습니다.

입력.txt

one
two
three
four
five

출력.txt

1
2
3
4
5

이 두 파일을 병합하고 아래와 같이 다른 출력 파일(예: match.txt)을 가져오고 싶습니다.

one 1
two 2
three 3
...

또한 두 개의 .txt 파일을 무작위로 섞으면 출력 파일(match.txt)도 다음과 같이 올바른 데이터를 병합합니다.

three 3
two 2
five 5
...

쉘 스크립트를 작성하는 방법은 무엇입니까?

답변1

간단하게paste주문하다:

paste -d' ' input.txt output.txt > match.txt

콘텐츠 match.txt:

one 1
two 2
three 3
four 4
five 5

그리고혼합(통과하다sort주문하다):

paste -d' ' input.txt output.txt | sort -R

예제 출력:

two 2
four 4
one 1
three 3
five 5

답변2

$ cat input.txt
five
one
three
two
four

$ awk 'BEGIN{a["one"]=1;a["two"]=2;a["three"]=3;a["four"]=4;a["five"]=5}$0 in a{print $0,a[$0]}' input.txt
five 5
one 1
three 3
two 2
four 4

관련 정보