Bash 从包含PDF路径的列表文件打开PDF
我有一个选定pdf的列表文件(每行包含pdf的路径)。这些PDF位于不同的目录中,总共有数千个。我对使用bash非常陌生,并且很难只打开列表文件中列出的那些文件。任何帮助都将不胜感激。如果列出了数千个文件,您可能不想同时打开它们。这个小脚本打开您在命令行上按编号指定的脚本。您可以修改它以打印出姓名或搜索列表等Bash 从包含PDF路径的列表文件打开PDF,bash,shell,data-analysis,Bash,Shell,Data Analysis,我有一个选定pdf的列表文件(每行包含pdf的路径)。这些PDF位于不同的目录中,总共有数千个。我对使用bash非常陌生,并且很难只打开列表文件中列出的那些文件。任何帮助都将不胜感激。如果列出了数千个文件,您可能不想同时打开它们。这个小脚本打开您在命令行上按编号指定的脚本。您可以修改它以打印出姓名或搜索列表等 #!/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=
#!/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
#/垃圾箱/垃圾箱
案件“$1”
[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9])N=“$1”;;
*)echo“在命令行上输入文件号”;出口
以撒
同时读取pdfpath;做
如果[$((-N))=0];然后
atril“$pdfpath”和#或evince、okular等。
出口
fi
完成
开头的案例
将N
设置为第一个命令行参数($1
),如果它是一个数字,但如果没有指定数字则退出
读取时。。。完成
循环列表文件中的行,并依次读取变量pdfpath
中的每一行
$((-N))
递减变量,因此当变量变为零时,它匹配比较并输入if
子句
&
会执行命令,但控制会立即返回,这样脚本就可以退出,而不会占用bash提示符。链接中的所有答案都会处理文件中的所有行,这不是OP需要的。我很高兴在它关闭之前我得到了一个更合适的答案。