Конструкция $(foo)
запустит команду foo
и заменит $(foo)
выводом выполнения foo
. Вам нужен шар, это не команда. Вы пытаетесь запустить все файлы с именем ./zebu.work.post_opt/ZEBU_CTO_FT_MOD*
. Все, что вам нужно, это:
if [ -f zebu.work.post_opt/ZEBU_CTO_FT_MOD.v ]
then
for file in./zebu.work.post_opt/ZEBU_CTO_FT_MOD*;
do
perl -i -p -e 's/input/inout/g' "$file"
perl -i -p -e 's/output/inout/g' "$file"
perl -i -p -e 's/wire.*\n/tran\(i0,\ o\);/g' "$file"
perl -i -p -e 's/assign.*\n//g' "$file"
done
fi
Или проще:
if [ -f zebu.work.post_opt/ZEBU_CTO_FT_MOD.v ]
then
for file in./zebu.work.post_opt/ZEBU_CTO_FT_MOD*;
do
perl -i -p -e 's/input/inout/g; s/output/inout/g;
s/wire.*\n/tran\(i0,\ o\);/g;
s/assign.*\n//g' "$file"
done
fi
Или еще проще:
if [ -f zebu.work.post_opt/ZEBU_CTO_FT_MOD.v ]
then
perl -i -p -e 's/input/inout/g; s/output/inout/g;
s/wire.*\n/tran\(i0,\ o\);/g;
s/assign.*\n//g'./zebu.work.post_opt/ZEBU_CTO_FT_MOD*
fi