すべてのオプションを指定せずにコマンド名と引数のみを表示するようにこの関数を再構築したいと思います。awk
function psgrep()
# show process id and command with arguments
ps aux | grep "${1:-.}" | grep -v grep | awk '{print $2, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20}'
}
ベストアンサー1
特定の実行可能ファイル(技術的には名前で)を検索するには、ps
HP / UX(ソース)などのいくつかの実装または次の実装を使用してくださいprocps-ng
。
ps -o pid,args -C "$1"
プロセスパラメータのリストに基づいてより一般的な検索が必要な場合(使用方法が示すように)、拡張正規表現の一致のために、ps u
次のように出力を後処理できます。ps -A -o pid,args
awk
ps -A -o pid,args | RE="$1" awk 'NR==1 || $0 ~ ENVIRON["RE"]'
(正規表現はpidと引数リストの両方と一致します。)
ここの正規表現は、以下ではなく環境変数を介してawk
渡されます。RE
-v
awk
これは、プロセスの独自のパラメータリストに表示される正規表現を防止し、結果としてそのパラメータを選択できます。-v
それ以外の場合は、発生する可能性のあるバックスラッシュの損傷(正規表現で一般的です)を解決します。