Доброго времени суток. Имеются файлы .o, по содержимому которых надо определить зависимость одного файла .o от другого, причем выписать зависимости на stdout в виде файл1 -> файл 2 (признак зависимости). Для этого нужно использовать инструмент nm, разрешается только один файл TEMP. Что делаю я:
Записываю имена всех файлов в переменную в виде строки (имена отделены пробелом).
Далее делаю цикл, в первую переменную проводится операция nm для каждого файла и выбираются лишь U признаки (имена неопределенных функций), в этом же цикле во временный файл делаю аналогичную операцию, но записываю лишь T признаки (определенные функции).
Итого мы имеем в список функций в разных местах. Как их наиоптимальнейшим способом сравнить между собой и в случае совпадения посредством if вывести на stdout?
Код:
#!/bin/bash
TEMP=`mktemp /tmp/$USER.XXXXXX`
var=`ls *.o`
for name in $var
do
u=`nm $name | grep -e '\<U\>' | awk '{print $2}'`
done
for name in $var
do
nm $name | grep -e '\<T\>' | awk '{print $3}
done > $TEMP
#а вот здесь пытаюсь сравнить, но не получается..
for u1 in $u
do
while read line; do
if [ "$u1" == "$line"]; then
echo "It Works!"
else
echo "Error"
fi
done
done < $TEMP
Буду благодарен за подсказки и любую помощь. Сдавать проект завтра до полуночи, я отблагодарю материально, я лишь прошу мне помочь с этим алгоритмом. Спасибо



