Javaコマンド出力からテキストを検索する

Javaコマンド出力からテキストを検索する

複数の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(除くNaName:。その場合は、次のようにできます。

java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai |
     | grep -q '^Name:.*Na' && echo YES

この-qフラグはgrep一致を印刷しないように指示します。0一致するものが見つかった場合は終了コードのみを返します。したがって、一致&& commandが成功したら、を使用してコマンドを実行できます。ここではこれを実行していますが、echo YES実行したいコマンドに変更できます。

おすすめ記事