0

私はbashスクリプトを初めて使用し、スクリプトで定義された日数に従って、古いファイル(ディレクトリではなく)のみをソースディレクトリから宛先ディレクトリに移動するbashスクリプトを作成したいと考えています。

#!/bin/bash

echo "Enter Your Source Directory"
read soure

echo "Enter Your Destination Directory"
read destination 

echo "Enter Days"
read days

find $soure -mtime -$days -exec mv {} $destination \;
echo "Files which were $days Days old moved from $soure to $destination"

ファイルを移動することはできますが、特定の要件に必要のないディレクトリ構造も保持されます。

4

2 に答える 2

0

ディレクトリではなくファイルのみを移動するように追加-type fします

find "$shore" -type f -mtime -$days -exec mv "{}" "$destination" \;
于 2012-12-20T14:38:52.250 に答える
0

スペースを含むファイル名がある場合、mvコマンドが間違っている可能性があります。代わりにこれを試してください。

find $soure -mtime -$days -exec mv "{}" $destination \;

タブ補完を使用する方が簡単なため、この代替手段の代わりに識別子$1を使用することをお勧めします。$2$3read

于 2012-12-20T12:41:43.333 に答える