Проблема старой версии: ошибки нечеткого сопоставления, основанные на нескольких столбцах с использованием AWK - PullRequest
0 голосов
/ 10 октября 2019

Я пытался использовать код, указанный в ответе, Существует ли какая-либо команда для нечеткого сопоставления в Linux, основанная на нескольких столбцах , для нечеткого сопоставления. Однако когда я набрал

awk 'codesinanswer' test2.csv test1.csv

в терминале. Я получил следующие предупреждающие сообщения.

awk: cmd. line:7:         field[i][$i]=field[i][$i] (field[i][$i]==""?"":OFS) $1 # attach PID to value
awk: cmd. line:7:                 ^ syntax error
awk: cmd. line:7:         field[i][$i]=field[i][$i] (field[i][$i]==""?"":OFS) $1 # attach PID to value
awk: cmd. line:7:                              ^ syntax error
awk: cmd. line:7:         field[i][$i]=field[i][$i] (field[i][$i]==""?"":OFS) $1 # attach PID to value
awk: cmd. line:7:                                            ^ syntax error
awk: cmd. line:7:         field[i][$i]=field[i][$i] (field[i][$i]==""?"":OFS) $1 # attach PID to value
awk: cmd. line:7:                                                             ^ syntax error
awk: cmd. line:12:         for(i=1;i<=6;i++) {                                     # fields 1-6
awk: cmd. line:12:                           ^ syntax error
awk: cmd. line:13:             if($i in field[i]) {                                # if value matches
awk: cmd. line:13:                                ^ syntax error
awk: cmd. line:15:                 split(field[i][$i],t,FS)                        # get PIDs
awk: cmd. line:15:                                                                 ^ syntax error
awk: cmd. line:15:                 for(j in t) {                                   # and
awk: cmd. line:15:                             ^ syntax error
awk: cmd. line:20:                 for(j in field[i])                              # for all field values
awk: cmd. line:20:                                                                 ^ syntax error
awk: cmd. line:21:                     if($i~j || j~$i)                            # "go fuzzy" :D
awk: cmd. line:21:                                                                 ^ syntax error
awk: cmd. line:24:         for(i in matches) {                                     # the best match first
awk: cmd. line:24:                           ^ syntax error
awk: cmd. line:25:             print $0,i;
awk: cmd. line:25:                       ^ syntax erro

Я использую GNU Awk 3.1.7.

Как мне с этим бороться? Спасибо.

1 Ответ

0 голосов
/ 10 октября 2019

Просто чтобы закрыть это: используйте современную версию GNU awk. Смотрите комментарии к ОП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...