-1
ワイルドカードを使用して特定の接頭辞で始まるディレクトリ内のすべてのファイルをコピーしようとしています。ここにスクリプトですワイルドカードを使用したスクリプトシェルmvは機能しません
#!/bin/bash
path="/home/scoubidou/recovered/"
prefix="f"
for i in "[email protected]"
do
if [ ! -d "$path$prefix$i" ]; then
mkdir $path$prefix$i
fi
echo $path$prefix$i* $path$prefix$i
mv $path$prefix$i* $path$prefix$i
done
ただし、これは機能しません。ワイルドカードは機能していないように見え、式は文字列で取得されます。コマンドは端末でうまく動作することに注意してください。
を試してみてください、あなたはスクリプトに正確に何を渡していますか? (サイドノート:bashは$ @ "'のように仮定して" for i "を使うことができます) – grail
数字(例:70)です。ワイルドカードが動作しないようです。 – Spider
今私はもっと混乱していますか?単一の値をスクリプトに渡すので、なぜループが必要なのでしょうか?次に、パス/ f70が存在するかどうかを確認して、ディレクトリを自分自身に移動しますか?または、移動する必要がある名前がf70で始まるファイルまたはディレクトリがありますか?おそらく、あなたが働いているディレクトリに実際に何が入っているかのデータを提供しておけば助けになるでしょうか? – grail