私はこれを理解するのに苦労しています。ブレース展開とmv
コマンドを調査しましたが、何らかの理由でまだ意味がありません。Unix と Linux のシステム管理ハンドブックを読んでいて、これを例として使用していますが、次の行を理解していません。
mv $fname ${fname/.log/.LOG};
$fname
.log を使用して現在の変数を移動していることに気付きましたが、${fname/.log/.LOG};
混乱しています。基本的にソース・デスティネーションだと思っていたmv
のですが…では、なぜ2つの/があるのでしょうか? 誰かが私にこれを平易な英語で説明できれば、私は最も感謝しています!
#!/bin/bash
find . -type f -name '*.log' | grep -v .do-not-touch | while read fname;
do
mv $fname ${fname/.log/.LOG/};
done