Tôi muốn đường ống đầu ra của ps -ef
đến dòng python theo dòng.Làm thế nào để đầu vào đường ống vào dòng python theo dòng từ chương trình Linux?
Các kịch bản tôi đang sử dụng là này (first.py) -
#! /usr/bin/python
import sys
for line in sys.argv:
print line
Thật không may, "dòng" được chia thành các từ cách nhau bởi khoảng trắng. Vì vậy, ví dụ, nếu tôi làm
echo "days go by and still" | xargs first.py
đầu ra tôi nhận được là
./first.py
days
go
by
and
still
Làm thế nào để viết kịch bản như vậy mà đầu ra là
./first.py
days go by and still
?
Cảm ơn câu trả lời này. Tôi có thể đánh dấu câu trả lời này là câu trả lời chính xác, nhưng câu trả lời khác cũng đúng và được đăng đầu tiên. – CodeBlue
Chỉ cần làm rõ: mục tiêu của bạn là đọc đầu ra tiêu chuẩn của một dòng chương trình phù hợp với chương trình Python của bạn. Bạn đang sử dụng dòng lệnh, bạn đề xuất sử dụng một đường ống để chuyển đầu ra tiêu chuẩn từ chương trình đầu tiên sang chương trình thứ hai của bạn (có ý nghĩa). Và sau đó, thay vì chỉ đọc từ đầu vào tiêu chuẩn trong chương trình Python, bạn muốn đưa chương trình thứ ba vào ngăn xếp thực hiện phép chuyển đổi từ stdin sang đối số dòng lệnh và có thể gọi chương trình Python của bạn nhiều lần và phân đoạn đầu vào (bạn biết 'xargs' hoạt động như thế nào?)? –
Không, tôi không biết cách xarg hoạt động như thế nào. – CodeBlue