Как объединить/объединить два файла на основе общего поля с повторяющимися строками

i в сценарии AWK это переменная AWK, а не переменная оболочки; вам нужно установить переменную AWK:

#!/bin/bash
dirc="/a/b/"
echo "${dirc}" | awk -F / -v i=3 '{print $i}'

Вы можете указать значение iлюбым способом, понятным оболочке:

i=3
echo "${dirc}" | awk -F / -v "i=${i}" '{print $i}'

Вы могли бы также заставить оболочку оценивать переменную в сценарии AWK, но это просто поиск проблем:

i=3
echo "${dirc}" | awk -F / "{print \$${i}}"
0
19.07.2019, 11:32
1 ответ

Это поведение по умолчаниюjoin:

$ join <(sort file1) <(sort file2)
CN 70.55 618 CNGC Prote 703 2 3880
KN 82.546 1037 KN4 Kines 1033 2 1 3635
KN 82.849 1032 KN4 Kines 1033 2 1 3635
KN 82.946 1032 KN4 Kines 1033 2 1 3635
SC 61.92 625 SC7 SCARE 588 2 75702
SC 65.696 618 SC7 SCARE 588 2 75702
1
28.01.2020, 02:39

Теги

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