从命令行到 libreoffice 配置文件的路径

皮埃尔·弗朗索瓦

过去常常运行libreoffice headless 来从bash脚本执行一些宏

soffice --headless "$year_to_process"/"$initials".ods macro:///Standard.C69.MergeSaveClose

在我这样做之前,我需要检查宏文件c69.xba是否存在于目录中$HOME/.config/libreoffice/4/user/basic/Standard/

问题是上面的数字“4”在我看来与版本有关。另一个问题是该数字与 返回的主要版本号不完全匹配libreoffice --version,它输出:

LibreOffice 5.4.5.1 40m0(Build:1)

到目前为止我编码的是:

# check the macro .config/libreoffice/*/user/basic/Standard/c69.xba is present
[ -f $HOME/.config/libreoffice/*/user/basic/Standard/c69.xba ] || {
    echo "$cmd: missing file basic/Standard/c69.xba"
    exit 1
}

使用“*”来匹配任何版本,但是当出现第二个目录时.config/libreoffice/{4,5}/user/basic/Standard,我的代码将不再起作用。

我的问题是:如何在不使用“*”的情况下(从命令行)获取包含当前版本 libreoffice 使用的宏的目录的正确路径?

皮埃尔·弗朗索瓦

Aserre上面关于 LibreOffice 配置路径任意字符的评论开始,我选择使用命令-t选项选择最近创建的 LibreOffice 配置文件ls所以我找到了下一个可行的解决方案:

# check the macro .config/libreoffice/*/user/basic/Standard/c69.xba is present
path=$(ls -dt "$HOME"/.config/libreoffice/* | head -n1) # take only first line of output of ls -dt
[ -f "$path/user/basic/Standard/c69.xba" ] || {
    echo "$cmd: missing file basic/Standard/c69.xba"
    exit 1
}   

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ghostscript和libreoffice从命令行打印xlsx文件

如何从命令行杀死libreoffice

流浪汉将args从命令行传递到预配置文件中

从命令行停用Maven配置文件

Windows:从命令行写入&到文件

使用LibreOffice从命令行打印lpr命令吗?

在Spring Boot中从命令行设置活动配置文件和配置位置

从命令行获取纱线配置

从命令行获取文件的标志?

从命令行生成.xcscheme文件

从命令行读取多个文件

从命令行合并.wav文件

从命令行打印Markdown文件

要求从命令行调用文件

如何使用 perl(自动化)从命令行读取配置文件

如何从命令行激活Maven配置文件(以构建子系统)

从命令行创建新用户的配置文件

从命令行使用不同的配置文件打开新的 Chrome 窗口

从命令行连接到WPA2,而无需编辑配置文件

如何使用指定的配置文件从命令行vs2019 for C ++?

从命令行调用snowsql时将配置文件作为arg传递

从命令行Mac打开Google Chrome特定的配置文件

如何从命令行在Windows 10中重置或清除用户配置文件?

如何在不编辑配置文件或传递硬路径的情况下从命令行启动jupyter notebook以在当前目录中运行?

Vim:从命令行以指定配置打开多个文件

将文件从命令行复制到剪贴板

如何从命令行将变量传递到CMake Toolhain文件?

如何将值从命令行传递到 cypress 规范文件?

sqlite3:将模式从命令行转储到.sql文件中