`match()`, `gensub()`, `gsub()` 및 `sub()`는 필드가 아닌 레코드에만 관심이 있습니까?

`match()`, `gensub()`, `gsub()` 및 `sub()`는 필드가 아닌 레코드에만 관심이 있습니까?

match()gawk에서 , gensub()gsub()필드 sub()는 고려되지 않으며 및 변경 사항에 영향을 받지 않습니다 FS. 이것이 맞습니까 OFS? 즉, 필드에는 관심이 없고 레코드에만 관심이 있습니까? 감사해요.

답변1

gensub()이러한 함수는 모두 함수에 전달한 특정 문자열에서 작동합니다. , 및 의 경우 gsub()문자열을 제공하지 않으면 sub()전체 입력 레코드 에서 작동합니다. 주어진 문자열을 필드로 분할하거나 또는를 $0사용하지 않습니다 .FSOFS

그렇습니다. 이러한 기능 중 어느 것도 FS또는 의 변경 으로 인해 영향을 받지 않습니다 OFS. 그들은 주어진 문자열을 고려하고 있습니다. 입력 문자열로 사용하는 경우 $0전체 문자열이 변경되지 않고 사용됩니다.

gsub()분명히 이것은 예를 들어 별도의 필드에서 사용하는 것을 방해하지 않습니다 .

관련 정보