Проверьте, содержатся ли значения в файле1 в столбце5 другого файла

1. Сначала :используйте #!/bin/bashвместо#!/BIN/BASH

С помощью #!/BIN/BASH, если вы запускаете такой скрипт:

bash script.sh

..все работает нормально.

Но если выполнить:

./script.sh

..вы получаете ошибку:

-bash:./script.sh: /BIN/BASH: bad interpreter: No such file or directory

2. Выполните эту команду:

echo 'PATH='$PATH

добавить вывод в начало скрипта.

Пример:

# echo 'PATH='$PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
1
25.10.2019, 13:15
1 ответ

Если ваш файл разделен пробелом -, используйтеawk:

awk '
    NR==FNR{s[$0]=1}
    NR!=FNR{for (v in s){ if ($2 ~ v) { print; next; }}}
' file1 file2
  • Сохранить строки($0)файла1 как ключ в массиве s.
  • Для второго файла проверьте, что $2соответствует любому ключу из s, и если да, напечатайте строку.
  • Перейти к строке nextпосле совпадения, чтобы предотвратить дублирование одной и той же строки.
1
27.01.2020, 23:40

Теги

Похожие вопросы