예: 두 개의 파일이 있습니다.
입력.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