awk를 사용하여 텍스트 파일의 테이블 요소 바꾸기

awk를 사용하여 텍스트 파일의 테이블 요소 바꾸기

txt 테이블에 일부 데이터가 있습니다.

Number        Column1        Column2
  1             abc            zxy
  7             tgh            lkj
  1             rfe            zpo

lkj 위치(항상 3열, 3행)의 문자열을 바꾸고 싶습니다. lkj를 임의로 교체하지 마십시오. 또 다른 예를 고려해보세요:

    Number        Column1        Column2
  a             875            172
  a             457            357
  2             986            125

이 경우에는 357을 추출하고 싶습니다. 3열, 3행. 열 awk매개변수 와 관련된 작업을 시도하고 있지만 $3어떻게 해야 할지 모르겠습니다. 어떤 제안이 있으십니까?

답변1

좋은 정렬을 유지하려면 awk기능을 사용하십시오 sub.

awk 'NR==3{sub($3, "string_to_replace")}1' infile.txt

그렇지 않으면 다음을 사용할 수 있습니다

awk 'NR==3{$3="string_to_replace"}1' infile.txt

NR==3세 번째 줄인 경우 교체를 수행하고 1항상 조건이 true이고 awk해당 줄을 인쇄하라고 지시하는 것을 의미합니다(또는 이것이 awk기본 작업인지).

관련 정보