쉘 변수를 awk에 전달하고, 설정하고, 같은 라인의 다른 awk에서 사용하고 인쇄 할 수 있습니까?awk에서 쉘 변수를 설정하고 재사용
나는 $ 6 (ABC 123456M123000) 구문 분석, 첫번째 변수에 $ 0 (0 모든 필드)를 저장할 - '12300'를 얻을 그것에 범위 체크를하고 있다면 만족, 인쇄 모든 필드 ($ 0)
1 부 :
가line="hello"
java class .... | awk -F, -v '{line=$0}' | awk 'begin my range check code' | if(p>100) print $line }
2 부 : 나는 변수에 모든 필드를 저장하면 $ 6 "ABC 123456M123000"(내가 해석하는 문자열) , 내가 이것을 사용하여 $ 6 구문 분석 할 수 = 내가 할 노력하고 있어요 :
awk 'begin {FS=" "} { print $2; len=length($2); p=substr($2,8,len)+0 ; print len,p ; if(p>100) print $line }'
하지만 내 질문은 part1 : $ 0 변수에 저장하는 방법 그래서 내 수표를 완료 한 후 인쇄 할 수 있습니까?
$ 1, $ 2 ... 모든 필드를 인쇄하고 싶습니다. 그래서 나는 두 개의 awks를 사용하는 것을 생각했다. 또한 'M'은 예제 일 뿐이며 모든 문자가있을 수 있습니다. 그 인덱스를 기반으로 substr을 사용하는 이유는 – swap
고마워요! 그게 효과가있어! – swap
+ 1 솔루션에 대해서만 awk 내장 조건/동작 처리를 사용할 수 있습니까? awk -F, {split ($ 6, f, "M")} [최소]> min'' –