パイプされたstdinを次のコマンドの引数として使用する

パイプされたstdinを次のコマンドの引数として使用する

あるコマンドの出力を別のコマンドの引数として使用するには?私の具体的な例は私が得たいものですPIDプロセスはそれを使用してoptionspgrepに渡します。-plsof

私は次のことを試しました。

  • pgrep myprocess | lsof -p /dev/stdin
  • pgrep myprocess | lsof -p -

私はあなたがこれを行うことができることを知っています:

pid=$(pgrep myprocess) && lsof -p "$pid"

しかし、これを行うより良い方法が必要です。たぶんそれともxargs何ですか?きれいなものが見つからなかったので、助けてくれてありがとう。

ありがとうございます!

答え1

pgrep複数のPIDが返される可能性があるとします。

$ pgrep mycommand | xargs -n 1 lsof -p

各PIDに対してlsof -pPIDが追加された状態で実行されます。

関連情報