我有一個包含超過1000個文件夾的目錄。此目錄中的每個文件夾都包含一個文本文件。我想將文本文件從這些文件夾移動到另一個目錄。但新目錄中文本文件的名稱應該是從中提取文件的文件夾的名稱。使用awk或bash將文件從一個目錄移動到另一個目錄
我該怎麼用awk或bash來做到這一點?
我有一個包含超過1000個文件夾的目錄。此目錄中的每個文件夾都包含一個文本文件。我想將文本文件從這些文件夾移動到另一個目錄。但新目錄中文本文件的名稱應該是從中提取文件的文件夾的名稱。使用awk或bash將文件從一個目錄移動到另一個目錄
我該怎麼用awk或bash來做到這一點?
您可以使用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)
。
for i in $(find . -maxdepth 2 -mindepth 2 -type f); do
mv $i $YOUR_DIR/$(dirname $i);
done
這應該有效。
find ./*/ -name "*.txt" | nawk -v new_dir="new_dir" -F/ 'NF==3{cmd="mv ""\""$0"\" " new_dir"/"$2;system(cmd);}'
非常感謝。 – user1466236