awkを使用して文字列を検索し、最初の行の最初の列を印刷します。

awkを使用して文字列を検索し、最初の行の最初の列を印刷します。

に興味がありますawk。親NodejsプロセスのプロセスIDを見つけるためのクイックコマンドを作成したいと思います。私はこれを思い出しました:

ps aux | awk '/node/' | awk 'NR == 1 {print $1}'

awkしかし、これら2つのコマンドを1つにまとめる方法があるべきだと思います。もっと簡潔に書く方法は何ですか?

編集する:

これには適していますが、pgrepまだ検索を使用して最初の行を印刷する方法を知りたいですawk

ベストアンサー1

の出力に対してテキスト処理を行う必要はありませんps。この目的のために特別に呼び出されたツールがありますpgrep

以下を実行してください。

pgrep node

node文字列の代わりに正規表現パターンを使用できます。

プロセス名を含む詳細出力の場合:

pgrep -l node

また、コマンド名を取得してください。

pgrep -a node

より多くのアイデアをチェックしてくださいman pgrep


awkon を使用しpsawk2 つを 1 つにマージするには、次の手順を実行します。

ps aux | awk '/node/ {print $1; exit}' 

おすすめ記事