2
안에 bash
을 사용하여 가장 높은 값과 가장 낮은 값을 찾고있는 값 목록이 있습니다. 이것들을 찾을 수 있었지만 나중에 어떤 변수에 값을 할당 할 수 없으므로 나중에 bash
에서 사용할 수 있습니다.awk에서 bash로 두 값 전달
내 입력 :
number location length value
1 2 40 0.96
--- 5 45 0.97
4 5 47 0.96
--- 5 35 0.95
2 5 60 0.95
--- 3 55 0.96
내 awk
명령을
awk 'NR==1{max=$3; min=$3}{if ($3>max) max=$3; if ($3<min) min=$3;} END {print max,min}' List.txt
출력 : 60
및 35
.
나는 바로 -v
내 awk
스크립트의 시작 부분에 다시 bash는 그것을 선언에 의해 awk
에 bash
에서 값을 전달할 수 있습니다 알고 있습니다.
Variable1=string;
awk -v Variable1=$Variable '{}'
같은 일을 할 수있는 방법이 있나요하지만, AWK에서 내가
min
및
max
을 유지할 수 있도록 비난하는? 다음
read -r max min < <(awk 'NR==1{max=$3; min=$3}{if ($3>max) max=$3; if ($3<min) min=$3;} END {print max,min}' List.txt)
:
echo $max
echo $min
을 OR :
감사합니다! 첫 번째 경우에는 주문에 따라 달라 지거나 이름에 따라 결정됩니까? – Renaud
실제로는 이름으로 가고 awk의 출력 순서대로 이름이 사용됩니다. – anubhava