我有两个文件在一个文件中有整数而在另一个文件中有范围。有整数的那个:
integer.txt -->
A 68 V K 99187
A 98 J K 99107
A 78 V K 99188
1 89 V C 88373
2 99 C F 88999
3 100 C H 88744
X 101 E J 88779
ranges.txt -->
A 28 78 YELLOW
1 33 89 BLUE
2 46 111 PURPLE
X 77 199 BLACK
X 101 299 GREEN
X 102 397 RED
我想要的是,如果first column
和integer.txt
的{{1}}相同,那么获取range.txt
和{{之间的整数1}}(column 2nd
)`ranges.txt。,即使它在边框重叠(=小于等于,大于等于)。
我试过的是:
3rd
我的期望是:
range
在预期的输出中,我不希望看到awk '
NR == FNR {intt[$1]=$2; max[$1]=$3; next}
{
for (color in intt)
if (intt[color] < $2 && intt[color] == $2 && $2 < max[color] && $2 == max[color] ) {
print $0, color
break
}
}
'
,因为以A 28 78 YELLOW A 68 V K 99187
A 28 78 YELLOW A 78 V K 99188
1 33 89 BLUE 1 89 V C 88373
2 46 111 PURPLE 2 99 C F 88999
X 77 199 BLACK X 101 E J 88779
X 101 299 GREEN X 101 E J 88779
开头的任何行都不属于X 102 397 RED
..
我知道我的代码现在处于可怕状态,但我该如何解决?
答案 0 :(得分:2)
使用GNU awk进行多维数组:
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
HttpEntity<byte[]> entity = new HttpEntity<>(requestObject.toByteArray(), httpHeaders);
ResponseEntity<String> response =
_restTemplate.exchange("https://example.com/xyz", HttpMethod.POST, entity, String.class);