$(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
$(...)
ファイル名の周囲のグロビングパターンを削除します。そこではコマンド置換は必要ありません。速度を上げるために、4つのPerl呼び出しを1つに組み合わせることもできます。