代码之家  ›  专栏  ›  技术社区  ›  BlackSwan

如何使用cat(递归)读取文件夹中的每个文件并将其存储在文件中?

  •  -2
  • BlackSwan  · 技术社区  · 7 年前

    我有一个包含9k PDF文档的文件。我想读一下 源代码 (非内容)并将其存储在与PDF同名的单独文本文件中。

    例如

    030类。pdf>030.txt

    我想对文件夹中的所有文件执行此操作。我该怎么做?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Stephen M. Webb    7 年前

    而不是使用 cat 使用 cp 效率更高。

    find . -name \*.pdf -exec cp {} $(basename {}).txt \;
    
        2
  •  0
  •   jmoney    7 年前

    您可以使用创建一个shell脚本来循环遍历目录中的文件,并执行cat命令,然后对文件名进行子串删除。pdf和add。txt文件:

    for entry in "$search_dir"/*
    do
      if [ -f "$entry" ];then
       cat "$entry" > "${entry%%.*}.txt"
    fi
    done