我想写一个脚本(或最好是一个别名),执行以下操作:
*.jar
的文件 jar tvf <jar file name> | grep <Some argument>
jar tvf <jar file name> | grep <Some argument>
jar
包含名称与argument
匹配的文件,则打印 我在tcsh
工作,宁愿不打开一个新的壳,因为我想这是一个别名,而不是一个脚本 – 这是可行的吗?
直接的别名不适用于这个应用程序。 像这样的东西会接近,除了你会得到的是输出的grep,而不是jar文件名:
alias targrep="find . -name '*.jar' -exec jar tvf {} \; | grep" targrep someterm
要获得文件名,你应该切换到使用一个函数,而不是一个别名,以便你有更多的控制参数和值的地方。 (注:bash格式,你可能需要修改为tcsh)
function jargrep () { find . -name '*.jar' | while read jar; do jar tvf $jar | grep -q $@ && echo $jar done } jargrep someterm
尝试一些沿线的东西
find . -name '*.jar' -exec 'jar tvf | grep <some agrument>'
阅读手册页查找更多细节。