2012-09-18 26 views
0

我有一個包含超過1000個文件夾的目錄。此目錄中的每個文件夾都包含一個文本文件。我想將文本文件從這些文件夾移動到另一個目錄。但新目錄中文本文件的名稱應該是從中提取文件的文件夾的名稱。使用awk或bash將文件從一個目錄移動到另一個目錄

我該怎麼用awk或bash來做到這一點?

回答

1

您可以使用for循環:

for i in <folderlist>; do 
    mv $i/*.txt <newfolder>/`basename $i`.txt 
done 

如果所有的文件夾都在根部,用for i in *for i in $(find <root> -type d -maxdepth 1)

+0

非常感謝。 – user1466236

0
for i in $(find . -maxdepth 2 -mindepth 2 -type f); do 
    mv $i $YOUR_DIR/$(dirname $i); 
done 
0

這應該有效。

find ./*/ -name "*.txt" | nawk -v new_dir="new_dir" -F/ 'NF==3{cmd="mv ""\""$0"\" " new_dir"/"$2;system(cmd);}' 
相關問題