あるディレクトリ(サブディレクトリを除く)のすべてのファイルを別のディレクトリに移動するには?

あるディレクトリ(サブディレクトリを除く)のすべてのファイルを別のディレクトリに移動するには?

あるディレクトリから別のディレクトリにすべてのファイル(サブディレクトリを除く)を移動する方法ソリューションでは、デフォルトのシェルスクリプトのみを使用したいと思います。

答え1

最も簡単な方法:

for f in /some/path/*; do
    if [ -f "$f" ]; then
        mv "$f" /some/other/path
    fi
done

やや複雑なアプローチ:

find /some/path -mindepth 1 -maxdepth 1 -type f -exec mv {} /dome/other/path \;

答え2

使用find:

find . -maxdepth 1 -type f -print0 | xargs -0 -I {} mv {} /path/to/target/directory/{}

これは改行文字を含むファイル名も処理します。

答え3

cd $src
mv `find . -maxdepth 1 -type f -printf '%f\n'` $tgt

これを行う必要があります。 $srcソースフォルダはどこにあり、$tgtターゲットフォルダはどこにありますか?

答え4

$ cd $SOURCE_DIR
$ mv `ls -p| grep -v /` $Target_dir

ステップ

  1. cdコマンドを使用してソースディレクトリに移動します。
  2. ls -p は、すべてのディレクトリにサフィックス "/" を追加します。
  3. grep -v は、ディレクトリを除いて通常のファイルをインポートするために使用されます。
  4. 最後に、すべてのファイルをターゲットディレクトリに移動します。

関連情報