두 파일의 단어를 그대로 추가하는 방법 [중복]

두 파일의 단어를 그대로 추가하는 방법 [중복]

행당 단어 수와 열 필드 수가 동일한 두 개의 파일이 있습니다. 이 두 파일을 그대로 추가하고 싶습니다. 예를 들어:

파일 1:

A1 B1 C1
D1 E1 B1 C1

파일 2:

A2 B2 C2
D2 E2 B2 C2

출력은 다음과 같아야 합니다(단어 수를 고려해야 함).

A1_A2 B1_B2 C1_C2 
D1_D2 E1_E2 B1_B2 C1_C2

답변1

이것해결책:

awk '{
    getline a <"file2"
    split(a,A)
    for(i=1;i<=NF;i++)
        printf("%s_%s ", $i, A[i])
    print ""
    }' file1

반죽+sed:

paste file1 file2 | 
sed '
    :a
    s/\(\(^\|\s\)[^_[:blank:]]\+\b\)\s*\(.*\t\)\(\S\+\)\s*/\1_\4 \3/
    ta
    s/\s*$//
    '

배쉬 루프:

exec 3<file1 4<file2
while read -u 3 a ; read -u 4 b 
do 
    echo $(paste -d_ <(printf '%s\n' $a) <(printf '%s\n' $b))
done

관련 정보