почему этот сценарий bash не работает получить все файлы?

У меня есть большая папка с подпапками с файлами pdf. Я хочу получить все файлы pdf (290 из них) и поместить их в один каталог. (Я думал, что это будет просто.), Чтобы я мог объединить их в один документ с моей программой pdf pdfshuffle или чем-то в этом роде. Я получил путь и имена файлов в файл: out.txt , используя: find $ (pwd) -iname '* .PDF'> out.txt out.txt содержит пути и файлы вроде этого:

...
/home/user/Downloads/pedals/PEDALS/Electro-Harmonix/Small Stone Phaser.PDF
/home/user/Downloads/pedals/PEDALS/Electro-Harmonix/Dr. Quack (Doctor Q Melhorado).pdf
/home/user/Downloads/pedals/PEDALS/Marshall/Guv'Nor 1.PDF
/home/user/Downloads/pedals/PEDALS/Marshall/Guv'Nor 2.pdf
...

круто. Итак, я подумал, что могу сделать это:

#!/bin/bash
input="out.txt"
while IFS= read -r line
do
  #echo "$line"
cp $line .
done < "$input"

Но он копирует только около 36 PDF-файлов, а оболочка говорит, что не может статовать файлы:

...
cp: cannot stat 'Boogie/Vtwin.pdf': No such file or directory
cp: cannot stat '/home/user/Downloads/pedals/PEDALS/Mesa': No such file or directory
...

Файл явно там, и я могу его просмотреть и т. д. в чем проблема с моим методом или сценарием?

1
задан 3 January 2021 в 01:14

0 ответов

Другие вопросы по тегам:

Похожие вопросы: