문제

내가 사용 시 문제가 AWK 를 단순히 제거할 필드 스트림에서 아래와 같이 설명:

  1 int blah (void)
  2 {
  3         if (foo) {
  4                 printf ("blah\n");
  5         }       
  6         return 0;
  7 }  

나는 다음 코드를 사용하여 제거하는 첫번째 필드:

$awk'{$1="";인쇄}'예입니다.나

 int blah (void)
 {
 if (foo) {
 printf ("blah\n");
 }
 return 0;
 }

왜 이런 경우는?이기 때문에 이것을 AWK 모두 제거합 공백이 될 수 있습니지 합니까?

종류에 관해서는 사전에

도움이 되었습니까?

해결책

http://awk.freeshell.org/RangeOfFields

에 대한 설명이 포함되 어떻게 그것을 할 수 있습니다.그것은 또한 링크 http://student.northpark.edu/pemente/awk/awktail.txt 을 포함하는 3 솔루션하는 문제입니다.멀리로 나가 알고 있는 경우에,당신은 필드에 할당,다음 출력 필드 구분자는 사용을 연결하는 모든 분야를 함께.그래서 " "+ suddendly 이 붕괴 한다.그것은 소금지만,나는 어떤 awk 전문가입니다.예를 들어,다음과 같이 실행한다 할당 : 변수 OFS, 며,콜론을 공백 대신 결과 사이의 분야에서 출력:

echo a b c | awk 'BEGIN{ OFS = ":" } { $1=""; print }'
$ :b:c

당신이 사용하는 경우 gawk,다음 사용할 수 있습니다 그 gensub 확장 내가 찾는 꽤 바로 앞으로 사용:

print gensub($1 "[\t ]*(.*)", "\\1", 1); 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top