Вы должны завершить каждый оператор if
с помощью fi
в sh. Примерно так:
#!/bin/sh
BANANA=1
if [ $BANANA -eq 1 ]; then
echo "Banana was 1"
else
echo "Oops"
fi
echo "This line will always be run"
То есть вам нужен один fi
для каждого if
в вашей программе, а расположение fi
определяет, где находится код, только иногда исполняются концы.
El awk
es una buena herramienta para este trabajo:
awk 'NR==FNR{a[$1]=$2;next}a[$1]{print $2,a[$1]}' file1 file2
Cuando se lee el primer archivo (FN==FNR
), complete la matriz a
con valores de la segunda columna e indexe desde la primera columna. Luego, cuando se procese el segundo archivo, imprima su segunda columna y la segunda columna del archivo1.
Salida:
aligator 23
panda 52
bear 36
shark 25
Si los archivos están ordenados, puede usar join
de coreutils:
join -o '2.2 1.2' file1 file2
Salida:
aligator 23
panda 52
bear 36
shark 25