繁体   English   中英

使用awk或bash将文件从一个目录移动到另一目录

[英]move files from one directory to another directory with awk or bash

我的目录包含1000多个文件夹。 该目录的每个文件夹都包含一个文本文件。我想将文本文件从这些文件夹移动到另一个目录。 但是新目录中的文本文件的名称应该是从中提取文本文件的文件夹的名称。

如何使用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 <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);}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM