2016-04-20 24 views
1

我在一個文件夾中有多個文件。每個文件都有不同的名稱並有不同的擴展名。我需要一種方法將每個文件移動到名爲Archive_1,Archive_2,Archive_n等文件夾中。 它並不重要的文件的順序,但我需要每個文件夾一個文件。將「n」個文件移動到一個特定的文件夾中,命令行或bash在ubuntu中

我一直在尋找類似於按名稱對文件進行排序的內容,並基於該文件將第一個文件移至Archive_1,然後將第二個文件移至Archive_2等。無法找到它。

任何幫助?

+0

你能顯示期望的輸入和精確輸出的例子? –

+0

我有電影,讓我們說「12年奴隸.mkv」和「Akira.mp4」。他們都在同一個文件夾中。我想將「12 Years a Slave.mkv」移動到一個名爲「Movie_1」和「Akira.mp4」的新文件夾中,並將其命名爲「Movie_2」。我需要在+100個文件上執行此操作,因此手動執行它不是最佳選擇。 – Cris

回答

1

假設所有文件都在PWD,你可以執行:

i=0 
for f in ./*; do 
    new_dir=Movie_$((++i)) 
    mkdir -p "$new_dir" 
    mv "$f" "$new_dir" 
done 

測試(我創建了一個名爲腳本SOF與上面的命令):

$ touch a b c 
$ ./sof 
$ tree 
. 
├── Movie_1 
│   └── a 
├── Movie_2 
│   └── b 
└── Movie_3 
    └── c 

3 directories, 3 files 
+0

它的工作,謝謝! – Cris

+0

不客氣。 –

相關問題