10 KB を超えるすべてのファイルを検索し、別のディレクトリに移動する必要がある次のコードがあります。
read mam
find "$mam" -type f -size +10k > size.txt
while read line
do
mv "$line" /home/patakinorbert/Desktop/prk1
done < size.txt
答え1
シェルスクリプトは必要ありません。単一のfind
コマンドでファイルを検索して移動します。
read -r mam
find "$mam" -type f -size +10k -exec mv {} /home/patakinorbert/Desktop/prk1 \;
-exec
との間の単語は、\;
見つかった各ファイルに対して実行されるコマンドであり、{}
見つかったファイルの名前に置き換えられます。
UbuntuなどのLinuxシステムまたはGNUツールを使用するすべてのシステムで、このコマンドのより効率的なバージョンは次のとおりです。
read -r mam
find "$mam" -type f -size +10k -exec mv -t /home/patakinorbert/Desktop/prk1 +
これは、1回の呼び出しで複数のファイルを移動するため、より効率的ですmv
。