次のようなファイルがあるとします。
samplea.txt
sampleb.txt
samplec.txt
そして、このフォームでいくつかのコマンドを実行したい:
./cmd -foo a.xml -bar samplea.txt
最初に私がしようとした
for file in "./*.txt"
do
echo -e $file
done
しかし、この方法では、すべてのファイルを一直線に印刷します。試すことによって:
echo -e $file\n
期待どおりの結果が得られません (ファイルごとに 1 行)。各ファイルでコマンドを実行するという問題の最初の部分を通過することさえできませんでした(これは find (...) -exec によって達成できます)が、私が本当にやりたかったのは部分文字列を抽出することでしたそれぞれの名前。
やっている:
echo ${file:1}
ファイル名を分割して、それぞれから「a」、「b」、「c」を取得した後にのみ実行できるため、機能しません。
紛らわしく聞こえるかもしれませんが、これは私の最初の bash スクリプトです。