파일 1:
19a9s
c9019
5777
파일 2:
99a9s
89019
10919
예상 출력
19a9s
89019
5777
그래서 그것은 letter 로 시작합니다 file 1
. 줄이 문자로 시작하는 경우를 조건으로 사용하고 싶기 때문에 두 번째 파일에서 바꾸고 싶습니다.line#2
c
c
file 2
다음을 시도했지만 예상한 결과를 얻지 못했습니다.
awk '
NR == FNR{ #for lines in first file
S[NR] = $0 #put line in array `S` with row number as index
next #starts script from the beginning
}
/^c/{$0=S[FNR]}{ #for line stared with `c`
$0=S[++count] #replace line by corresponded array element
}
1 #alias for `print $0`
' file2 file1
답변1
awk '
NR == FNR{ #for lines in first file
S[NR] = $0 #put line in array `S` with row number as index
next #starts script from the beginning
}
/^c/{$0=S[FNR]}{ #for line stared with `c`
}
1 #alias for `print $0`
' file2 file1
답변2
얼마나 멀리 갈 것인가?
paste file[12] | sed 's/^c[^ ]* //; t; s/ .*$//;'
19a9s
89019
5777
이해합니다?