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

时间:2018-01-17 18:12:22

标签: bash recursion cat

我有一个包含9k PDF文档的文件。我希望使用cat读取每个文件的源代码(不是内容),并将它们存储在一个与PDF文件名相同的单独文本文件中。

例如

  

cat 030.pdf> 030.txt

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

2 个答案:

答案 0 :(得分:1)

不是使用cat使用cp,而是更有效率。

find . -name \*.pdf -exec cp {} $(basename {}).txt \;

答案 1 :(得分:0)

您可以使用创建shell脚本来遍历目录中的文件并执行cat命令,并将文件名子串以删除.pdf并添加.txt:

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