首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用第二个pdfgrep find作为变量

使用第二个pdfgrep find作为变量
EN

Stack Overflow用户
提问于 2019-02-17 01:13:08
回答 1查看 57关注 0票数 1

我正在使用pdfgrep来查找pdf中的某些信息,并使用该信息重命名所述文件。但是,对于日期,我需要以不同于文件保存的方式对它们进行格式化。我计划将日期的每个部分(月、日、年)作为单独的变量来提取,这样我就可以用if语句重新格式化它们。有没有办法将找到的第二个数字作为变量存储在bash中?

代码语言:javascript
复制
shopt -s nullglob nocaseglob

for f in *.pdf; do
    id1=$(pdfgrep -i "ID #: " "$f" | grep -oE "[M][0-9-][0-9]+")
    id2=$(pdfgrep -i "Second ID: " "$f" | grep -oE "[V][0-9-][0-9]+")
    # Check id1 is found, else do nothing
    if [ ${#id1} ]; then
        mv "$f" "${id1}_${id2}.pdf"
    fi
done

终端中命令的Rresults:

代码语言:javascript
复制
$ pdfgrep -i "Date of Birth: " 2.pdf | grep -oE "[0-9]+"
3
23
1977
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-17 01:24:26

您可以使用<(...)进程替换将grep的输出重定向到三个read命令中,这三个命令将值存储在单独的变量中。

代码语言:javascript
复制
{ read month; read day; read year; } < <(pdfgrep -i "Date of Birth: " 2.pdf | grep -oE "[0-9]+")

结果:

代码语言:javascript
复制
$ echo "$month-$day-$year"
3-23-1977
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54725624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档