从包含 pdf 路径的列表文件中打开 pdf [重复]
Posted
技术标签:
【中文标题】从包含 pdf 路径的列表文件中打开 pdf [重复]【英文标题】:Opening pdfs from a list file which contains paths to pdfs [duplicate] 【发布时间】:2021-06-13 00:22:03 【问题描述】:我有一个选定 pdf 的列表文件(每一行都包含一个 pdf 的路径)。这些 pdf 文件位于不同的目录中,总共有数千个。我对使用 bash 非常陌生,并且很难只打开列表文件中列出的那些文件。任何帮助将不胜感激。
【问题讨论】:
链接中的所有答案都会处理文件中的所有行,这不是 OP 需要的。我很高兴在它关闭之前发布了更合适的答案。 【参考方案1】:如果列出了数千个文件,您可能不想一次打开所有文件。这个小脚本按数字打开您在命令行上指定的那个。您可以修改它以打印出名称或搜索列表等。
#!/bin/sh
case "$1" in
[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]) N="$1" ;;
*) echo "Put a file number on the command line"; exit ;;
esac
while read pdfpath; do
if [ $((--N)) = 0 ]; then
atril "$pdfpath" & # Or evince, okular, etc.
exit
fi
done < listfile.txt
开头的case
将N
设置为第一个命令行参数($1
),如果它是一个数字,但如果没有指定一个数字则退出。
while read ... done
循环遍历列表文件中的行,并依次读取变量 pdfpath
中的每一行。
$((--N))
递减变量,因此当它变为零时,它与比较匹配并进入if
子句。
&
会导致命令执行,但控制会立即返回,因此脚本可以退出并且不会占用您的 bash 提示符。
【讨论】:
以上是关于从包含 pdf 路径的列表文件中打开 pdf [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从附加到 Google Docs View 的 android 文件路径中打开 .pdf 文件
如何从内部文件路径 data/data/com.xyz/file.pdf 在 android 5.0 的 Pdf Renderer 中打开 pdf