Я хочу сравнить первый элемент каждой строки в A.txt с первым элементом строк B.txt и если они совпадают с печатью этой строки A. Оба элемента первой строки A и B - это шестнадцатеричные числа, и я написал следующий код на основе https://askubuntu.com/questions/366879/awk-comparing-the-value-of-two-variables-in-two-different-files.Сравнение шестнадцатеричных чисел в оболочке
#!/bin/bash
A="$HOME/A.txt"
B="$HOME/B.txt"
cat $A | while read a; do
a1=$(echo $a | awk ' { print $1 }')
cat $B | while read b; do
b1=$(echo $b | awk ' { print $1 }')
if [ $a1 == $b1 ]; then
echo $a
fi
done
done
Вот что я получаю: линия 9: [0x6200e001: команда не найдена
Это произойдет, если у вас не было пробела между '' и '$ a1'. Вы пытались запустить код после того, как вы его очистили, чтобы опубликовать его? –
Вы уверены, что есть место сразу после квадратной скобки? –
Оба вы правы. решена! – user2517676