4

ディレクトリのファイルを別のディレクトリに移動する必要があります。次のプログラムを使用すると、stat エラーが発生します。

for i in dir1/*.txt_dir; do
mv $i/*.txt  dir2/`basename $i`.txt
done

エラーメッセージ

mv: cannot stat `dir1/aa7.txt_dir/*.txt': No such file or directory
4

4 に答える 4

3
mv $i/*.txt  dir2/`basename $i`.txt

にテキスト ファイルがない場合、これは機能しません$i/。シェルは、未展開の文字列"$i/*.txt"mv含む生の文字列を*に渡しmvます。

次のようなことを試してください:

for i in dir1/*.txt_dir; do
    find $i -name '*.txt' -exec mv {} dir2/`basename $i`.txt \;
done
于 2012-10-04T14:48:11.977 に答える