複数のJarファイルを含むフォルダがあります。
*dummy.jar
*myjar-xx.jar
*myjar-yy.jar
findを使用して "myjar"で始まる最初のファイルを見つける必要があります。
ここで、次を使用して見つかったJarファイル内のManifestファイルの内容を把握したいと思います。探す注文する。
マニフェストファイルの内容を確認するには、次のコマンドを使用しています。
java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai
コンソールに出力を提供します -
Version: 2
Name: MyName
Company: ABC
コンソールでファイルの内容を見ることができるので、「Name」を含む行に「Na」があるかどうかをどのように検索できますか?
答え1
私が正しく理解した場合は、次のコマンドを意味します。
java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai
次の出力を返します。
Version: 2
Name: MyName
Company: ABC
Name:
そして、その出力に文字列で始まり、含む行が含まれていることを確認しようとしますNa
(除くNa
)Name:
。その場合は、次のようにできます。
java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai |
| grep -q '^Name:.*Na' && echo YES
この-q
フラグはgrep
一致を印刷しないように指示します。0
一致するものが見つかった場合は終了コードのみを返します。したがって、一致&& command
が成功したら、を使用してコマンドを実行できます。ここではこれを実行していますが、echo YES
実行したいコマンドに変更できます。