デフォルトでは、PID リスト区切り文字に「|」を提供する次のような長いリストがあります。
echo $(lsof -p $(pgrep -f dosemu | tr '\012' ,) | grep '/media/datadrv' | awk '{print $2" - " $9}' | grep 'DBASE1.RES' | awk '{print $1}') | sed 's/\s\+/|/g'
この出力は次のようになります。19066|19500
私がしたいのは、pstree
コマンドを入力するために使用することですegrep
。
たとえば、次のコマンドは私に必要なものを提供します
pstree -p | egrep '19066|19500'
最初のコマンドの結果を2番目のコマンドに供給する方法がわかりません。
修正する 回答ありがとうございました。完全な行は次のとおりです。
pstree -p | egrep $(echo $(lsof -p $(pgrep -f dosemu | tr '\012' ,) | grep '/media/datadrv' | awk '{print $2" - " $9}' | grep 'DBASE1.RES' | awk '{print $1}') | sed 's/\s\+/|/g')
ベストアンサー1
線形変数の名前を指定できます。
var=$(echo $(lsof -p $(pgrep -f dosemu | tr '\012' ,) | grep '/media/datadrv' | awk '{print $2" - " $9}' | grep 'DBASE1.RES' | awk '{print $1}') | sed 's/\s\+/|/g')
次に、次のようにvar
入力しますpstree
。
pstree -p $var
タブに変換を19066|19500
使用できる数字の1つを入力したい場合は、興味のある数字は次のとおりです。sed
|
\t
awk
first_number=$(echo ${var} | sed 's/|/\t/g' | awk '{print $1}' )
19066
pstree -p ${first_number}