Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 从一系列PDF中删除第一页_Bash_Pdf_Pdftk - Fatal编程技术网

Bash 从一系列PDF中删除第一页

Bash 从一系列PDF中删除第一页,bash,pdf,pdftk,Bash,Pdf,Pdftk,我有一系列的pdf(),我想从每期的pdf文件中删除第一页。有100个问题,所以GUI是不会解决的。我使用pdftk从一期中删除了第一页: pdftk 1981_1112_issue1.pdf cat 1 output 1.pdf 我的问题是,我不想对每个pdf问题都修改并运行此命令,因为这并不比GUI方法好多少 使用*.pdf作为输入似乎不起作用。我还可以使用哪些其他方法在每个PDF上运行pdftk?对所有问题进行循环。输出以问题命名,将“问题”替换为“输出”。第一行提取第1页,第二行提取其

我有一系列的pdf(),我想从每期的pdf文件中删除第一页。有100个问题,所以GUI是不会解决的。我使用pdftk从一期中删除了第一页:

pdftk 1981_1112_issue1.pdf cat 1 output 1.pdf
我的问题是,我不想对每个pdf问题都修改并运行此命令,因为这并不比GUI方法好多少


使用*.pdf作为输入似乎不起作用。我还可以使用哪些其他方法在每个PDF上运行pdftk?

对所有问题进行循环。输出以问题命名,将“问题”替换为“输出”。第一行提取第1页,第二行提取其他页:

shopt -s nullglob
for file in *.pdf
do
 out=${file%.pdf}_page1.pdf
 pdftk "$file" cat 1 output "$out"
done
for issue in *_issue*.pdf
do
    pdftk ${issue} cat 1 output page1_${issue/issue/output}
    pdftk ${issue} cat 2-end output otherpages_${issue/issue/output}
done

问题的命名有规律吗?不完全是……你会注意到年份是文件名中的第一个术语,年份肯定会有所不同。但我可以很容易地批量重命名…所有文件的名称中都有“问题”吗?它们有。这是全年第四季度发行的.pdf。另外,pdftk_issue.pdf cat 1 output*.pdf似乎提供了正确的输入,但我该如何称呼输出文件?您的示例命令不会从输入pdf中删除第一页。它将输入的第一页提取到一个单页输出PDF(1.PDF),并保持输入不变。哦,我明白了。我做过一些编程,但我没有意识到变量在bash中是如何工作的。你到底在用${issue/issue/output}做什么?${a/b/c}在a变量的内容中用c子字符串替换b子字符串。我喜欢这个答案,因为它直截了当。有必要排队吗?