awk를 사용하여 두 파일마다 연결

awk를 사용하여 두 파일마다 연결

이런 파일이 여러개 있어요

BR1.txt
NH1.csv
BR2.txt
NH2.csv
BR3.txt
NH3.csv

각각을 파일 BR로 연결하고 싶습니다 .NH

답변1

이것은 아마도 당신이 원하는 것입니다:

for br in BR*.txt; do
    num="${br#BR}"
    num="${num%.*}"
    nh="NH${num}.csv"
    cat "$br" "$nh" > "out${num}.txt"
done

그러나 샘플 입력/출력이 없으면 이는 추측입니다.

답변2

set -- BR*.txt
count=0

for name in NH*.csv; do
        count=$(( count + 1 ))
        cat "$1" "$name" >"file$count"
        shift
done

먼저 위치 인수 목록을 file 로 설정한 다음 파일을 BR반복합니다 . 의 각 파일 이름 NH에 대해 다음 파일을 연결하고 그 결과를 이름이 붙은 파일에 기록하고 그 뒤에 숫자가 붙습니다. 이를 사용하면 다음 반복의 다음 파일이 됩니다.NH$nameBRfileshift$1BR

BRNH이는 두 파일 세트의 수가 동일하고 동일한 번호 지정 시스템을 따른다고 가정하여(올바른 방식으로 정렬되도록) 각 파일을 해당 파일과 효과적으로 연결합니다 .

관련 정보