我有一个 bash 脚本,它使用“find”命令读取文件扩展名并列出该扩展名的文件。之后,它读取文件的名称。现在,如果文件不在当前目录中,我如何使用名称和扩展名变量打开该文件。这是脚本:
find . -type f -name "*.png"
find . -type f -name "*.jpg"
echo "Enter file extension"
read xt
find . -type f -name "*.$xt"
echo "Enter file name"
read fn
xdg-open $fn.$xt
首先,它列出了 PNG 和 jpg 文件。输入所需的文件扩展名后,它会再次打印一个列表。之后,它会读取文件的名称,但如果文件不在当前目录中,它如何打开它?
答案1
如果您想查找一个文件然后在其上运行命令,请使用find
的-exec
选项:
find . -type f -name "$fn.$xt" -exec xdg-open {} \;
这将对xdg-open
每个匹配的文件调用一次。