คำถามติดแท็ก tee

1
วิธีการต่อท้ายทีไฟล์ใน Bash?
เหล่านี้เป็นคำสั่งที่ฉันพิมพ์ใน terminal echo -e "First Line" | tee ~/output.log echo -e "Second Line" | tee ~/output.log เมื่อฉันดูไฟล์ output.log ฉันเห็น 'บรรทัดที่สอง' เท่านั้น ฉันจะแน่ใจได้อย่างไรว่าทีต่อท้าย (แทนที่จะลบไฟล์ออก) ฉันต้องการที่จะเห็นสิ่งนี้ในไฟล์: First Line Second Line ฉันควรจะเข้าใกล้อีกทางนี้หรือไม่? ขอบคุณ!
73 bash  tee 

3
มีความสำคัญกับการใช้ทีหรือไม่?
ทำไมคำสั่งเกือบทั้งหมดเกี่ยวกับการต่อท้ายข้อความในไฟล์ระบบที่ชอบfstabและ/etc/apt/sources.list.d/<name>.listเกี่ยวข้องกับการใช้tee และ echoการต่อท้ายข้อความดังกล่าว? นำตัวอย่างต่อไปนี้ซึ่งทำงานเป็นรูท : ## 1 echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee -a file1 ## 2 echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' >> file2 วิ่งdiff -u file1 file2กลับไม่มีอะไร การทำงานmd5sum file1 file2แสดงเช็คซัมของพวกเขาเหมือนกันซึ่งทำให้ฉันกลับไปที่คำถามเดิมของฉัน: เหตุใด| tee <FILENAME>จึงแพร่หลายทั่วทั้งเอกสาร Ubuntu มันเป็นเพียงการปฏิบัติที่ดีมิฉะนั้นมันจะง่ายกว่าที่จะใช้ตัวอย่างที่ 2 แทนที่จะส่งผ่านผลลัพธ์จากechoไปยังtee?
47 command-line  tee 

2
Tee ไม่ได้รับผลลัพธ์ทั้งหมดจากไปป์
ฉันมีสคริปต์ดำเนินการคำสั่งเช่น: export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH;./some_app -i $INDEX | tee $LOG echo "Number of errors: $(grep "ERROR" $LOG | wc -l)" teeปัญหาอาจจะอยู่ในท่อ ดูเหมือนจะไม่ได้รับผลลัพธ์ทั้งหมด เมื่อแอปพลิเคชันหยุดทำงานไม่กี่บรรทัดสุดท้ายของเอาต์พุต (โดยปกติจะเป็นแอปที่มีข้อผิดพลาดร้ายแรง) หายไป เมื่อฉันเรียกใช้แอพโดยไม่ต้องไปป์teeฉันก็เอามันออกมาได้ ฉันจะบังคับให้สคริปต์รอทีเพื่อประมวลผลเอาต์พุตทั้งหมดได้อย่างไร

4
การอ่านและการเขียนไฟล์: คำสั่ง tee
เป็นที่ทราบกันดีว่าคำสั่งเช่นนี้: cat filename | some_sed_command >filename ลบไฟล์ชื่อไฟล์เนื่องจากการเปลี่ยนเส้นทางเอาต์พุตที่ถูกเรียกใช้งานก่อนคำสั่งทำให้ชื่อไฟล์ถูกตัดทอน หนึ่งสามารถแก้ปัญหาด้วยวิธีต่อไปนี้: cat file | some_sed_command | tee file >/dev/null แต่ฉันไม่แน่ใจว่าสิ่งนี้จะใช้ได้ในทุกกรณี: จะเกิดอะไรขึ้นถ้าไฟล์ (และผลลัพธ์ของคำสั่ง sed) มีขนาดใหญ่มาก ระบบปฏิบัติการจะหลีกเลี่ยงการเขียนทับเนื้อหาบางส่วนที่ยังไม่ได้อ่านได้อย่างไร? ฉันเห็นว่ายังมีคำสั่งฟองน้ำซึ่งควรทำงานในกรณีใด ๆ : มันเป็น "ปลอดภัย" กว่าที
10 command-line  bash  tee 

2
ขุย: ไม่พบคำสั่ง
Ubuntu มียูทิลิตี้ที่เป็นขุยหรือไม่? ติดตั้งอย่างไร? ในการเขียนโปรแกรมคอมพิวเตอร์ผ้าสำลีคือยูทิลิตี Unix https://en.wikipedia.org/wiki/Lint_%28software%29 thufir@mordor:~$ thufir@mordor:~$ gcc program.c -o prog program.c:5:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main() ^ thufir@mordor:~$ thufir@mordor:~$ ./prog Hello World thufir@mordor:~$ thufir@mordor:~$ lint program.c No command 'lint' found, did you mean: Command 'line' from package 'util-linux' (main) Command 'jlint' from package 'jlint' (universe) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.