从命令行执行shell脚本

从命令行执行shell脚本

我有一个 perl 脚本,可将文件转换为 json 格式并将输出写入单独的目录。它接受 2 个参数,文件名和输出目录。该脚本需要在以特定扩展名(例如 .abc)结尾的多个文件上运行。

我想找到扩展名为 .abc 的特定目录中的每个文件,并针对它运行我的脚本。我正在尝试从命令行运行

find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory"

命令返回find: missing argument to '-exec'

我对 perl 和 shell 脚本都很陌生。我可以在每个单独的文件上运行脚本。但是,任何给定目录中可能有数十个文件,并且需要即时转换它们,因为原始文件经常更改。谁能告诉我我的命令行输入有什么问题吗?谢谢

答案1

您必须以 结束-exec通话\;。这应该可以解决问题。

 find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory" \;

相关内容