2013-12-13 51 views
0

海蘭,移動從文件夾中的文件到一個新的

我面臨一個問題,這件事情,我想編寫一個bash命令,讓我澄清這個問題:

我有一些目錄與圖片內:

|-Dir1 
|--pic2.jpg 
|--pic3.jpg 
|--pic4.jpg 
|--pic5.jpg 
|--n... 

|-Dir2 
|--pic2.jpg 
|--pic3.jpg 
|--pic4.jpg 
|--pic5.jpg 
|--n... 

|-Dir3 
|--pic2.jpg 
|--pic3.jpg 
|--pic4.jpg 
|--pic5.jpg 
|--n... 

我想要做的只是從每個文件夾移動3張圖片到一個新的。不管它是隨機圖片還是其他什麼都沒關係。

任何想法?

感謝您的幫助。

+1

你試過了什麼? – hek2mgl

+0

我已經嘗試使用命令「查找」,但我不能解決問題停在數字3圖片,像這樣: #!/ bin/bash 找到Dir1 -type f -name'*。 jpg'|同時讀取-r FILE;做 DIRNAME = $ {FILE%/ *} mkdir -p「../ALL」&& mv「$ FILE」「../ALL/」 done – AndreX

+0

您是否想將[隨機]圖片移動到一個目的地目錄? – Donovan

回答

1

開始這... ...這將3個文件移動到另一個目錄

move3.sh

#!/bin/bash 
if [ $# -lt 2 ] ; then 
    echo "Usage: $0 <SOURCE_DIR> <DEST_DIR>" 
    exit 1 
fi 
if [ ! -d "$1" ] ; then 
    echo "$1 is not a directory, please supply a source directory" 
    exit 1 
fi 
if [ ! -d "$2" ] ; then 
    echo "$2 is not a directory, please supply a destination directory" 
    exit 1 
fi 
FILES=$(ls "$1" | tail -3) 
for FILE in $FILES ; do 
    mv "$1"/$FILE "$2" 
done 

然後,您可以建立在該源/目標目錄的任意組合發送到被移動。

+0

謝謝,但它不適用於帶有空格的文件夾名稱,需要一些解決方法來解決此問題? – AndreX

+0

嗯,說實話,這是爲了讓你開始正確的方向。如果你把你的文件夾名稱放在引號中,它應該可以......「move3.sh」目錄與空格「」目的地與空格「 – Donovan

相關問題