price.txt
파일은 두 열 갖는다 : (이름 및 값)출력 다른 열의 각 루프의 결과
Mary 134
Lucy 56
Jack 88
range.txt
파일은 세 개의 열 갖는다 : (과일 MIN_VALUE 및 MAX_VALUE)
apple 57 136
banana 62 258
orange 88 99
blueberry 98 121
을 내 목표는 price.txt
파일의 값이 range.txt
의 min_value와 max_value 사이에 있는지 테스트하는 것입니다. 예인 경우 1
을 출력하고 그렇지 않은 경우 "x"
을 출력합니다. 다음처럼
awk 'FNR == NR { name=$1; price[name]=$2; next} {
for (name in price) {
if ($2<=price[name] && $3>=price[name]) {print 1} else {print "x"}
}
}' price.txt range.txt
을하지만 내 결과를 하나의 열에 모두 : 각각의 이름은 하나의 열이 (: 사실
1
1
x
x
x
x
x
x
1
1
1
x
, 나처럼 내 결과를 원하는
나는 시도) 내가 출력 파일을 추가 할 수 paste
를 사용할 필요가 있기 때문에
1 x 1
1 x 1
x x 1
x x x
및 range.txt
파일을 함께. 최종 결과는 다음과 같아야합니다 :
apple 57 136 1 x 1
banana 62 258 1 x 1
orange 88 99 x x 1
blueberry 98 121 x x x
그래서 어떻게 각기 다른 열의 결과를 얻을 수 있습니까? 그리고 현재의 코드를 기반으로 paste
없이 최종 결과를 출력 할 수 있습니까? 고맙습니다.
print 문은 ORS (기본적으로 새 줄)를 인수에 추가합니다. 더 많은 출력 제어를 위해 printf (예 : printf ("1"))를 사용할 수 있습니다. –