当我在命令行中准确键入以下内容时,以下内容可以正常工作:
find /<some_path>/{epson,epson_laser,epson_inkjet} -iname "*.ppd"
-exec grep "\*ModelName\:" {} \; | sed 's/.*\"\(.*\)\"/\1/'
但是,当我尝试从 bash 脚本调用以下命令时,我得到find: missing argument to -exec'
.
我还尝试了以下方法(在许多变体中):
eval find "$1" -iname "*.ppd" -exec 'bash -c grep "\*ModelName\:" "$1" | sed "s/.*\"\(.*\)\"/\1/" \;
如find-exec-echo-missing-argument-to-exec中所述。我怎样才能不仅在终端中,而且在 bash 脚本中都可以使用第一个代码?
PS:我eval
只用于将字符串扩展"/<some_path>/{epson,epson_laser,epson_inkjet}"
到多个路径。有谁知道这样做的更好解决方案?