파일 병합 - 이름은 같고 확장자는 다릅니다.

파일 병합 - 이름은 같고 확장자는 다릅니다.

이름은 동일하지만 확장자가 다른 서로 다른 입력 .txt 및 .tsv 파일(디렉토리 내)을 출력 파일에 병합하는 방법은 무엇입니까?


입력: file1.txt, file2.txt, file1.tsv,file2.tsv

출력: file1.merged,file2.merged

답변1

그리고 zsh:

ext='(txt|tsv|text|log)'
for f (**/*.$~ext(.)) cat < $f >> $f:t:r.merged

동일한 디렉터리 내의 병합은 알파벳순으로 정렬됩니다. 즉, before before 및 before a/file.txt에 포함됩니다 .b/file.txta/file.loga/file.txt

또한 숨겨진 파일(이름이 로 시작하는 파일 .)은 고려되지 않습니다( D필요한 경우 glob 한정자를 추가하세요).

답변2

cat file1.* > file1.merged

cat file2.* > file2.merged

관련 정보