У меня есть каталог (/mydir/cdl
) с файлами с расширением cdl, например, ADDDAY0.cdl
, ADDDAY1.cdl
. Я хотел бы искать в наборе файлов, содержащихся в другом каталоге (/otherdir/exe/
), который из них содержит имя файла .cdl в виде строки, например. ADDDAY0.cdl.
Я использовал этот скрипт:
for fullfile in /mydir/cdl/*.cdl; do
file_no_path=${fullfile##*/}
base_name=${file_no_path%%.*}
grep -H -orw '/otherdir/exe/' -e "runexe $base_name"
done
и получил следующий вывод:
/otherdir/exe/ABDIRIDL:runexe ABDIRIDL
/otherdir/exe/ABIDISRI:runexe ABIDISRI
/otherdir/exe/PGAB01:runexe ADDDAY0
/otherdir/exe/PGAB01:runexe ADDDAY1
/otherdir/exe/PGAB01:runexe ADDDAY2
/otherdir/exe/PGAB01:runexe ADDDAYC1
Как удалить путь к файлу и строка runexe и имеют в качестве вывода:
ABDIRIDL ABDIRIDL
ABIDISRI ABIDISRI
PGAB01 ADDDAY0
PGAB01 ADDDAY1
PGAB01 ADDDAY2
PGAB01 ADDDAYC1