วิธีการต่อท้ายผลลัพธ์เข้ากับไฟล์?


125

ฉันจะทำบางอย่างเช่นcommand > fileต่อท้ายไฟล์แทนการเขียนทับได้อย่างไร


1
(มีจำนวนมาก - อาจจะมากเกินไป! - สารพัดในคู่มืออ้างอิง bashรวมถึงการเปลี่ยนเส้นทางทุกประเภทปรับเปลี่ยนตามความจำเป็นสำหรับเชลล์)

4
คุณยังสามารถใช้ทีถ้าคุณต้องการเปลี่ยนเส้นทางไปยังทั้ง STDOUT และต่อท้ายผลลัพธ์ลงในไฟล์ ตัวอย่างเช่น: echo "hello" | ที -a somefile.txt โดยแฟล็ก -a ย่อมาจากผนวก
Henrik

คำตอบ:



103

ใช่.

command >> fileเพื่อเปลี่ยนเส้นทางเพียงstdoutcommandของ

command >> file 2>&1เพื่อเปลี่ยนเส้นทางstdoutและstderrไปยังไฟล์ (ทำงานใน bash, zsh)

และถ้าคุณจำเป็นต้องใช้sudoอย่าลืมว่าเพียง

sudo command >> /file/requiring/sudo/privilegesไม่ทำงานเนื่องจากการยกระดับสิทธิ์ใช้กับcommandส่วนการเปลี่ยนเส้นทางเชลล์ อย่างไรก็ตามเพียงแค่ใช้การ teeแก้ปัญหา:

command | sudo tee -a /file/requiring/sudo/privileges


6
ฉันใช้สิ่งนี้สำหรับโปรแกรมจับภาพเอาต์พุตทั้งหมด sh 2> & 1 | ที - screen.log "-a" ย่อมาจากผนวก
Xdg

-3

คุณสามารถต่อท้ายไฟล์ด้วยเครื่องหมาย >> มันแทรกเนื้อหาที่สุดท้ายของไฟล์ที่เราใช้อยู่ถ้าไฟล์ปล่อยให้ชื่อเป็น myfile มี xyz แล้ว cat >> myfile abc ctrl d

หลังจากกระบวนการข้างต้น myfile มี xyzabc


4
>>ผู้ประกอบการที่ได้กล่าวถึงสามปีก่อนแล้วและ OP รู้ว่าสิ่งที่หมายถึงการผนวก
Dan Dascalescu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.