При написании этого вопроса я понимаю свою ошибку, я должен читать команду так:
lp
-d lp1
-h
myfile
Слово myfile — это просто имя файла, которое мы печатаем с помощью lp
, оно не является аргументом опции -h
.
$ awk -F'[,;] ' '{print $($1 + 1)}' file
Mike Freeland
Ed Aslan
Eden Anderson
Измените разделитель полей на '[,;] '
, т. е. запятую или точку с запятой, за которой следует пробел. Затем получите значение первого поля $1
, добавьте к нему единицу и напечатайте значение этого поля $(...)
.
$ awk -F, '{split($2,names,";"); print names[$1]}' file.csv
Mike Freeland
Ed Aslan
Eden Anderson