【发布时间】:2020-03-19 01:26:19
【问题描述】:
自我介绍一下,经过几天的搜索,我才刚刚开始加入堆栈溢出。 我正在做一个小项目,我的 RasPi 用说话的文件名整理我的 PDF 文档。
我将使用 pdfgrep grep 各种文件中的公司名称和日期。
代码如下:
#!/bin/bash
# set work directory
workpath=~pi/Documents/
find $workpath/ -iname '*.pdf' -print | while read FILENAME
do
if pdfgrep -i --max-count 1 'company1' "${FILENAME}";
then
echo "$FILENAME";
pdfgrep --max-count 1 '(([0-9][0-9]{,1}\.)\s+('Januar'|'Februar'|'März'|'April'|'Mai'|'Juni'|'Juli'|'August'|'September'|'Oktober'|'November'|'Dezember')\s+([1-9][0-9][0-9][0-9]{1,}))' "${FILENAME}";
echo "company1";
elif pdfgrep -i --max-count 1 'company2' "${FILENAME}";
then
echo "$FILENAME";
pdfgrep --max-count 1 '('Datum:')\s+(([0-9][0-9]{,1}\.)([0-9][0-9]{,1}\.)([1-9][0-9][0-9][0-9]{1,}))'
echo "company2";
else
echo "$FILENAME";
echo "undefined document -- Error!!";
fi
done
对于每个文件,我得到不同的内容:
公司名称
行为文件公司名称
公司名称和公司地址
还有更多不同的东西
日期也不同
dd.mm.yyyy
日期:dd.mm.yyyy
一些文字dd。年年月
_______________________dd.month yyyy
我正在寻找一种方法,只将所需的内容写入变量中,而不用周围的文字:
comp=公司名称
日期=yyyy
datem=mm / 这里我还需要知道如何将 month 转换为 mm
日期=dd
结果应该是:yyyymmdd-companyname.pdf
我从 bash 脚本开始,因为我正在使用 pdfgrep,而且我对编程语言不太熟悉。 也许我在 python 中做了一些代码:S
我们将非常欢迎您的帮助!
干杯,梦想
【问题讨论】:
标签: linux bash variables grep filenames