Hızlı cevap. Yapmak tee >(what_to_do) >(another_thing_to_do)
istediğiniz birçok farklı şey için emrinize devam etmek için kullanabilirsiniz .
Örnek:
Orijinal test dosyası çıktısı:
:~$ cat testfile.txt
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
tee
Eklenen komutlarla çıktı :
:~$ cat testfile.txt | tee >(tail -1) >(wc) >(awk '{print $3,$1,$2}')
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
LITEONIT Device Model:
TW0XFJWX550854187616 Serial Number:
2 10 91
Serial Number: TW0XFJWX550854187616
Tee'daki her komut, komut satırında kullanacağınız normal komutlardır, tıpkı eklentilerde olduğu >(head -1 | wc)
gibi.
:~$ cat testfile.txt | tee >(tail -1) >(head -1 | wc) >(awk '{print $3,$1,$2}')
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
1 7 52
LITEONIT Device Model:
TW0XFJWX550854187616 Serial Number:
Serial Number: TW0XFJWX550854187616
Ya da kullanarak son satırı söylemek son kelimeyi yakala awk
ile $NF
bir ile wc
de böyle:
:~$ cat testfile.txt | tail -1 | tee >(wc) >(awk '{print $NF}')
Serial Number: TW0XFJWX550854187616
TW0XFJWX550854187616
1 3 39
NOT:|
Sonuna bir boru komutu eklemek , komuttaki çoklu komutları kullanarak geçersiz kılabilir tee
. Burada test ettiğim bazı örnekler var:
Örnek 1 (Tüm son kelimeleri çeken boru komutu):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $NF}'
words
24
5
1
Örnek 2 (wc komutlarının çıktısını göstermez. 3. kelimeyi kaplayan boru komutu.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $3}'
just
Örnek 3 (Echo satırının 3. kelimesini kapma. Tee komutu.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) >(awk '{print $3}')
This is just five words
just
24
5
1
Örnek 4 (Yankı çizgisinin son sözcüğünü kapma. Tee komutu.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) >(awk '{print $NF}')
This is just five words
words
24
5
1
Bu yardımcı olur umarım!