Đây chỉ là câu hỏi giả định - không giải quyết bất kỳ vấn đề thực sự nào - chỉ học bash.Dán kết quả của lệnh tee
Với lệnh tee
có thể chia đầu ra để dòng khác nhau hơn, như:
command1 | tee >(commandA1 | commandA2 >file1) >(commandB1 | commandB2 >file2) >file0
nên đồ họa được thực hiện tiếp theo
---commandA1---commandA2--> file1
/
command1---tee-------> file0
\
---commandB1---commandB2--> file2
Bây giờ, với lệnh paste
có thể ví dụ
paste file1 file2 | command3
nhưng một lần nữa tôi có thể chuyển hướng đến dán đầu ra từ một chương trình khác nhau, như:
paste <(ls) <(ls) | command3
Câu hỏi đặt ra là: có thể phần nào tham gia vào hai luồng lại thành một, một cái gì đó giống như
---commandA1---commandA2---
/ \
command1---tee-------> file0 --- paste---command3
\ /
---commandB1---commandB2---
Ps: có nghĩa là không có tệp trung gian ...
Không phải không có một file trung gian hoặc tên ống. Xem 'mkfifo' – SheetJS
Đây là một loại câu hỏi mà tôi thích nhìn thấy - phần nào, cái gì không tầm thường. Thật không may, tôi không biết bash đủ sâu để cho thấy làm thế nào để đạt được điều này với "tên ống" như @Nirk đề nghị ... +1 – kobame