ps -ef
の出力を行ごとにpythonにパイプしたいと思います。pythonへの入力をlinuxプログラムから行ごとにパイプする方法は?
私が使用しているスクリプトは、この(first.py)である - 残念ながら
#! /usr/bin/python
import sys
for line in sys.argv:
print line
、「ライン」、空白で区切られた単語に分割されています。私は
echo "days go by and still" | xargs first.py
を行うのであれば、例えば、私が手出力は、出力が
./first.py
days go by and still
あるようなスクリプトを書くためにどのように
./first.py
days
go
by
and
still
のですか?
この回答ありがとうございます。私はこれを正解としてマークすることができたが、他の答えも正しいものであり、最初に投稿された。 – CodeBlue
あなたの目標は、あなたのPythonプログラムを使って1つのプログラムの標準出力を1行ずつ読むことです。コマンドラインを使用している場合は、パイプを使用して最初のプログラムから標準出力を2番目のプログラムに転送することを提案します(これは意味があります)。そして、あなたのPythonプログラムの標準入力から単純に読み込むのではなく、stdinからコマンドライン引数への魔法の変換を実行するスタックに3番目のプログラムを組み込み、おそらくPythonプログラムを複数回呼び出して入力を断片化します'xargs'の仕組みを知っていますか?) –
いいえ、xargsの仕組みがわかりません。 – CodeBlue