ディレクトリ内のすべてのファイルを繰り返し処理し*.info
、対応するファイルがあるかどうかを確認してい*.gz
ます (存在しない場合はファイルを削除し.info
ます)。しかし、これを行うには、の.info
オフを取り除く必要があり$file
ます。パラメータの置換をいじりましたが、何も機能してbash
いないようです。拡張機能は (以下のコードのように) 簡単に取得できますが、拡張機能以外のすべてではありません。うまくいくかもしれないと思っていたさまざまなことを試しました。誰もしませんでした。
for file in *.info; do
gz_file="${file:(-4)}" # wrong... what is right?
# gz_file=`echo "$file" | sed -e 's/.info//'` # easy alternative I'm trying to avoid
if [[ ! -f "${gz_file}" ]]; then
rm "${file}"
fi
done
コメントアウトされた行に示されているように、これは で簡単に実行できることを認識してsed
いますが、可能であれば、bash に組み込まれている変数操作機能を使用して実行したいと考えています。そのように機能させる方法。