あるディレクトリから別のディレクトリにすべてのファイル(サブディレクトリを除く)を移動する方法ソリューションでは、デフォルトのシェルスクリプトのみを使用したいと思います。
答え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
ステップ
- cdコマンドを使用してソースディレクトリに移動します。
- ls -p は、すべてのディレクトリにサフィックス "/" を追加します。
- grep -v は、ディレクトリを除いて通常のファイルをインポートするために使用されます。
- 最後に、すべてのファイルをターゲットディレクトリに移動します。