awk를 사용하여 기호/텍스트 주변의 단어("to") 바꾸기

awk를 사용하여 기호/텍스트 주변의 단어("to") 바꾸기

다음과 같은 파일이 있습니다.

Aa Bb C Y... "TO" Bb
Cc Z J >> sd "TO" Dd
Ee Z H S DFF "TO" Ff

하지만 나는 이것을 원한다:

Bb "TO" Aa Bb C Y... 
Dd "TO" Cc Z J >> sd 
Ff "TO" Ee Z H S DFF

그래서 "TO" 주변의 텍스트를 바꿀 수 있습니다...

답변1

나는 그것을 할 것이다:

awk -F ' "TO" ' '{print $2 FS $1}'

-F필드 구분 기호( FS변수)를 정의합니다. 이 줄은 한 번만 나타나고 "TO"공백으로 둘러싸여 있다고 가정합니다.

를 사용하면 perl다음과 같이 더 많은 제어가 가능합니다.

perl -Mopen=locale -lpe 's/^(.*?)(\h*)("TO")(\h*)(.*)$/$5$4$3$2$1/'

주변 공백을 이동할 수도 있습니다 "TO".

답변2

노력하다:

awk -F" \"TO\" " '{print $2 " \"TO\" " $1}' yourfile

관련 정보