3 ms·
You will want to read the man pages. 'pee' is straightforward to understand if you already understand 'tee'. 'pee' is used to pipe output from one command to tw
by oftenwrong 4y ago
You will want to read the man pages. 'pee' is straightforward to understand if you already understand 'tee'. 'pee' is used to pipe output from one command to two downstream commands.
https://en.wikipedia.org/wiki/Tee_(command) https://en.wikipedia.org/wiki/Tee_(command)
- thiht 4y agoI know tee but have no idea what pee would do considering this description. From your description I guess something like « pee a b » would be the same as « a | b »? If so that’s cool, but the one line descriptions definitely need a rework.
- nerdponx 4y agoI believe it's more like `a | pee b x y z | c`. This would run `b x y x` as well as `c` using the output from `a`. I think Zsh supports this natively with its "multios" option, `a > >(b c y z) > >(c)`. But then you have to write the rest of your pipe inside the ().
- somat 4y agoI can only guess from that description is that it is the cat command.
- oftenwrong 4y agoIt loosely follows the same metaphor as the T-shaped pipe connector that 'tee' is named for. $ seq 3 | tee somefile 1 2 3 ╔═somefile seq═tee═╣ ╚═stdout $ seq 10 | pee 'head -n 3' 'tail -n 3' 1 2 3 8 9 10 ╔═head═╗ seq═pee═╣ ╠═stdout ╚═tail═╝
- somat 4y agoThe unix shell was designed to optimize for simple pipes. to make pipe networks you usually have to use named pipes, aka fifos. I once had to use an IBM mainframe shell(cms If I remember correctly) which had pipes however IBM in their infinite wisdom decided to make the pipe network the primary interface, while this made complex pipes a bit less awkward, simple(single output) pipes were wordy compared to the unix equivalent.