我尝试在终端中打开图像但没有成功

我尝试在终端中打开图像但没有成功

我想在终端内打开特定日期和时间的图像。我使用以下命令找到了图像:

# find . -type f -name '*2018-05-24*' | grep 18-46-31
./Screenshot from 2018-05-24 18-46-31.png

现在我想在终端中从上面的输出打开此图像,但下面的命令似乎不起作用。

# find . -type f -name '*2018-05-24*' | grep '18-46-31' | xargs xdg-open

我究竟做错了什么?我使用 xargs (可能是我使用了错误的 xargs )来尝试将 grep 的输出作为选项传递给 xdg-open 但我得到:

xdg-open: unexpected argument 'from'
Try 'xdg-open --help' for more information.

答案1

xargs,默认情况下,将输入拆分为任何空格,所以最后,它xdg-open以四个参数./Screenshot, from, 2018-05-24,运行18-46-31.png。使用 GNU xargs,您可以使用xargs -d '\n'它在换行符上拆分,但您可以使用以下命令完成整个操作find

find . -type f -name '*2018-05-24*18-46-31*' -exec xdg-open {} \;

find(严格来说,这与您的+组合不同grep,因为该模式强制日期和时间按此顺序排列,并且时间也必须是文件名本身的一部分。find -name -name '*2018-05-24*' | grep 18-46-31也将匹配./18-46-31/2018-05-24.png。)

相关内容