awk를 사용하여 대용량 파일에서 숫자를 빼는 방법

awk를 사용하여 대용량 파일에서 숫자를 빼는 방법

이런 큰 파일이 있어요

AT5G44030,TAACARA,1000,+,200,206
AT5G44030,TAACARA,1000,+,418,424
AT5G44030,TAACARA,1000,+,773,779
AT5G44030,NGATT,1000,+,114,118
AT5G44030,NGATT,1000,+,267,271
....................................

끝에 두 개의 열을 추가하고 5번째 - 3번째, 6번째 - 3번째를 빼려고 하므로 최종 파일은 다음과 같아야 합니다.

AT5G44030,TAACARA,1000,+,200,206,-800,-794
AT5G44030,TAACARA,1000,+,418,424,-582,-576
AT5G44030,TAACARA,1000,+,773,779,-227,-221
AT5G44030,NGATT,1000,+,114,118,-886,-882
AT5G44030,NGATT,1000,+,267,271,-733,-729

.......................................

(중간에 빈 줄이 있어서는 안 된다는 점에 유의하세요)

awk또는 을 사용하여 이 작업을 어떻게 수행할 수 있습니까 sed? 파일이 매우 큽니다(1M 줄).

답변1

awk 'BEGIN { FS=OFS="," } {print $0,$5-$3,$6-$3}' my_file

관련 정보