Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 结合find和jar-xvf?_Unix_Command Line_Find - Fatal编程技术网

Unix 结合find和jar-xvf?

Unix 结合find和jar-xvf?,unix,command-line,find,Unix,Command Line,Find,我们了解如何组合查找和tar cvf 如何使用find上的-exec和类似jar-xvf的命令组合每个文件 用例是,我需要在文件夹中找到特定的jar文件(例如,-type f foo*.jar),然后从find找到的每个jar文件中提取特定条目:jar-xvf META-INF/services 一般情况似乎是,当cmd在文件后取参数时,用户希望为每个文件执行一个命令cmd find-exec允许您在命令中的任何位置替换文件名。与链接问题一样,您可以通过将{}移动到所需位置来完成此操作 find

我们了解如何组合
查找
tar cvf

如何使用
find
上的
-exec
和类似
jar-xvf
的命令组合每个文件

用例是,我需要在文件夹中找到特定的jar文件(例如,
-type f foo*.jar
),然后从
find
找到的每个jar文件中提取特定条目:
jar-xvf META-INF/services


一般情况似乎是,当
cmd
在文件后取参数时,用户希望为每个文件执行一个命令
cmd

find-exec
允许您在命令中的任何位置替换文件名。与链接问题一样,您可以通过将
{}
移动到所需位置来完成此操作

find /path -name '*.jar' -exec jar -xvf {} META-INF/services \;

这里的
foreach
是一个更好的主意:(
表示f in*.jar;do jar xvf$f META-INF/services;done
)?还是(
表示f in$(find.-name*.jar);do jar xvf$f META-INF/services;done
)?啊,我没意识到
{}
的行为像占位符!谢谢