다음 형식의 파일이 있는 경우:
line1 column1
line2 columnA
line3 column1A
exclude this
line5 column2
line6 columnB
line7 column2B
column*
이전에 인쇄 되도록 열을 교환하고 싶습니다 line*
. awk
다음과 같은 간단한 명령을 사용 awk '{print $2 " " $1}'
하고 다음과 같은 출력을 얻습니다.
column1 line1
columnA line2
column1A line3
this exclude
column2 line1
columnB line2
column2B line3
이제 해당 줄을 인쇄하되 순서를 바꾸지는 않기를 원합니다 exclude
(3번 줄일 필요는 없습니다). 이 명령을 사용하면 해당 행을 무시할 수 awk '/exclude/{next}{print $2 " " $1}'
있으며 제외된 행 없이 출력됩니다.
column1 line1
columnA line2
column1A line3
column2 line1
columnB line2
column2B line3
열을 awk
포함하지만 재정렬하지 않고 행을 인쇄하는 방법을 어떻게 알 수 있나요 ? exclude
그래서 다음과 같이 출력됩니다.
column1 line1
columnA line2
column1A line3
exclude this
column2 line1
columnB line2
column2B line3
답변1
그것은 마치
awk '{if(/exclude/){print}else{print $2,$1}}' file.txt
또는 결과는 동일하지만 더 짧습니다.
awk '!/exclude/{$0=$2FS$1}1' file.txt