각 줄 끝에 접미사 문자열을 추가하시겠습니까? [복사]

각 줄 끝에 접미사 문자열을 추가하시겠습니까? [복사]

두 개의 파일이 있습니다.

파일 01:

line1
line2
line3

파일 02:

A
B
C

나는 그것을 원한다

line1 A
line2 B
line3 C

Perl 스크립트를 작성할 수도 있지만 그럴 필요가 없다면 좋을 것입니다.

나는 명백한 grep -o '^' file02 >> file01을 사용해 보았습니다.

그러나 이것은 생산할 것입니다

line1
line2
line3
A
B
C

이것은 간단한 일이지만 "man grep"(grep 매뉴얼)에서는 찾을 수 없습니다.

답변1

두 파일을 함께 "압축"하려면 다음 paste명령을 사용하십시오.

 paste -d ' ' file01 file02

답변2

~처럼@1-cr이 제안함paste이를 수행하는 가장 좋은 방법은 명령 입니다. 완전성을 위해 다음은 몇 가지 다른 옵션입니다.

  1. Bash 및 파일 설명자(에서 적응여기):

    exec 3<file02
    while read foo; do
     read -u3 bar;
     echo $foo $bar;
    done < file01
    exec 3>&-
    

    여기서는 .이라는 파일 설명자를 만듭니다 3. file02그런 다음 '옵션을 사용하여 read파일 설명자에서 변수를 읽습니다 -u. 마지막으로 일반 루프가 읽습니다.bar3whilefoofile01

  2. 진주

    perl -ne 'BEGIN{open($fh,"file02");@a=<$fh>} 
        chomp; print "$_ $a[$.-1]"' file01
    
  3. awk/gawk

    gawk 'BEGIN{f=ARGV[1]}
         {
          if(FILENAME==f){a[FNR]=$0}
          else{print a[FNR],$0}
         }' file01 file02
    

관련 정보