일부 이메일 목록이 포함된 파일과 mail.txt
이 사람들의 이름이 포함된 해당 파일이 있습니다. names.txt
이제 이 파일들을 다음 구조의 하나의 파일로 병합하고 싶습니다.
name1: email1
name2: email2
.
.
.
bash를 사용하여 이를 달성할 수 있습니까?
답변1
paste
다음과 같이 명령을 사용할 수 있습니다 .
paste -d ': ' names.txt /dev/null mails.txt > result.txt
작동 원리에 대한 설명:
붙여 넣기는 정확히 당신이 원하는 것입니다. 실제로 여러 열을 연결할 수 있지만 열 사이의 구분 기호로 한 문자만 전달할 수 있습니다. 이는 ':'가 두 문자이기 때문에 문제가 됩니다.
그러나 해결 방법이 있습니다. /dev/null
기본적으로 시스템에서 사용할 수 있는 빈 파일인 이 파일을 사용할 수 있습니다.
이제 Paste는 세 개의 열을 연결하고 두 번째 열은 비어 있다고 생각하므로 와 사이의 구분 기호 목록(":")에 첫 번째 문자를 넣은 names.txt
다음 와 null
사이에 ("")를 넣습니다 null
. mail.txt
합계는 와 ":" + "null" + " "
같습니다 ": "
.