2014-04-10 41 views
0

一系列文件,以圍繞它們的目錄名我有一個大系列的應用程序與一個奇怪的命名結構中提取的文件。名稱在BASH

每個文件被命名爲「streamvideo 1.flv」,封閉了一個名爲「視頻」通過與我想使用的名稱的第二個文件夾封閉的文件夾中。

正如4607/video/streamvideo 1.flv。我想是遍歷所有這些和編號的文件夾重命名後streamvideo 1.flv。因此,使用我的例子,這種情況下有重新命名爲4607.flv

很多:

enter image description here

回答

0

你可以用一個小perl程序解決這個問題:

for (<*>) {rename "$_/video/streamvideo 1.flv", "$_.flv";} 
1
cd path/to/top/directory 
for dir in */ 
do 
    mv "$dir/video/streamvideo 1.flv" "${dir%%/}.flv" 
done 
0

找到+ MV

find * -type f -name "*.flv" |while read -r line; do mv "$line" "${line%%/*}.flv"; done