Недавно мы экспортировали записи о пациентах из нашей старой системы EMR, проблема заключается в том, что каждая заметка для каждого пациента выдается в виде отдельного файла PDF, в результате чего в одном каталоге содержится более 876 000 документов PDF, все с длинным, громоздким форматом имени файла ID #-record # .YYYY-MM-DD HH.MM.SS.FIRSTNAME LASTNAME.TYPE of NOTE.pdf
Моя первая цель - получить все файлы в каталогах пациентов, помеченных идентификатором # FIRSTNAME LASTNAME
то есть: для файла, помеченного
345-1.2011-02-3 08.59.53.JOHN DOE.General Miscellaneous Service.pdf
, будет создан каталог с именем 345-JOHN DOE
и в него будут помещены все файлы, начинающиеся с 345
.
Я знаю, что могу использовать скрипт типа
for file in ./*_???ILN*; do
dir=${file%ILN*}
dir=${dir##*_}
mkdir -p "./$dir" &&
mv -iv "$file" "./$dir"
done
, который в этом примере будет принимать значение между _ и ILN и создавать каталог только с этим значением.Но как, если возможно, я могу взять значение ID # и значение FIRSTNAME LASTNAME для создания каталога?