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

การรับชมการอัพเดตที่ส่วนท้ายของไฟล์โดยมีหรือไม่มียูทิลิตี tail

4
grep จากจุดสิ้นสุดของไฟล์ไปยังจุดเริ่มต้น
ฉันมีไฟล์ที่มีเส้นประมาณ 30.000.000 บรรทัด (การบัญชี Radius) และฉันต้องการค้นหาคู่สุดท้ายของรูปแบบที่กำหนด คำสั่ง: tac accounting.log | grep $pattern ให้สิ่งที่ฉันต้องการ แต่ช้าเกินไปเพราะระบบปฏิบัติการจะต้องอ่านไฟล์ทั้งหมดก่อนแล้วจึงส่งไปที่ไพพ์ ดังนั้นฉันต้องการสิ่งที่รวดเร็วที่สามารถอ่านไฟล์จากบรรทัดสุดท้ายถึงบรรทัดแรก

8
ฉันจะทำให้ Vim ทำงานอย่างไรเช่น "tail -f" ได้อย่างไร
ฉันต้องการทราบว่ามีวิธีที่จะทำให้ Vim ทำตัวเป็นแบบtail -fนี้หรือไม่ แม้แต่ปลั๊กอิน Vim ที่ดีที่สุดที่ฉันเคยพบมาก็ไม่ได้ทำตามที่ฉันคาดไว้ ผมต้องการที่จะเห็นการปรับปรุงแฟ้มในเวลาจริง แม้ว่าฉันจะอยู่ห่างจากแป้นพิมพ์ฉันต้องการให้ Vim โหลดบัฟเฟอร์อย่างต่อเนื่องและข้ามไปยังบรรทัดสุดท้าย ทำอย่างไร (ฉันไม่ต้องการโหลดไฟล์ทั้งหมดเนื่องจากไฟล์บันทึกบางไฟล์มีขนาดใหญ่มากวิธีที่ดีที่สุดคือการโหลดบรรทัดสุดท้ายเท่านั้นเช่นtail -fทำ)
36 vim  tail 

3
Tail log file ในหลายเครื่องผ่าน ssh
ฉันกำลังพยายามtailล็อกไฟล์บนเครื่องระยะไกลหลายเครื่องและส่งต่อผลลัพธ์ไปยังเวิร์กสเตชันท้องถิ่นของฉัน ฉันต้องการการเชื่อมต่อกับใกล้ชิดเมื่อมีการกด-CtrlC ตอนนี้ฉันมีฟังก์ชั่นต่อไปนี้ซึ่งเกือบจะทำงานได้ตามที่ตั้งใจไว้ function dogfight_tail() { logfile=/var/log/server.log pids="" for box in 02 03; do ssh server-$box tail -f $logfile | grep $1 & pids="$pids $!" done trap 'kill -9 $pids' SIGINT trap wait } tailการเชื่อมต่อปิดและฉันได้รับผลลัพธ์จาก แต่มีการบัฟเฟอร์บางชนิดเกิดขึ้นเนื่องจากเอาต์พุตมีแบตช์ และนี่คือส่วนที่สนุก ... ฉันสามารถเห็นพฤติกรรมการบัฟเฟอร์เดียวกันเมื่อดำเนินการต่อไปนี้และผนวก "ทดสอบ" ไปยังไฟล์/var/log/server.logบนเครื่องระยะไกล 4-5 ครั้ง ... ssh server-01 "tail -f /var/log/server.log | …
36 linux  ssh  tail 

4
ทำไม“ tail -f … | หาง” ล้มเหลวในการผลิตผลลัพธ์ใด ๆ
เหตุใดคำสั่งต่อไปนี้จึงไม่สร้างเอาต์พุตใด ๆ $ tail -f /etc/passwd | tail หลังจากอ่านเกี่ยวกับบัฟเฟอร์ฉันได้ลองทำสิ่งต่อไปนี้เพื่อประโยชน์: $ tail -f /etc/passwd | stdbuf -oL tail โปรดทราบว่าต่อไปนี้จะสร้างผลลัพธ์: $ tail /etc/passwd | tail ดังนั้นสิ่งนี้: $ tail -f /etc/passwd | head ฉันใช้ tail version 8.21 (coreutils GNU)
36 pipe  tail 

1
`หาง -f 'มีประสิทธิภาพมากกว่า` less + F` หรือไม่
บทความนี้ชี้ให้เห็นเหตุผลที่จะใช้มากกว่าless +F tail -fเหตุผลส่วนใหญ่เกี่ยวกับคุณสมบัติไม่ใช่เหตุผลด้านเทคนิค : less +Fสามารถเน้นค้นหานำทางผ่านไฟล์ เหตุผลทางเทคนิคเกี่ยวกับอะไร? AFAIK lessใช้การสำรวจความคิดเห็นในแต่ละวินาทีเพื่ออัปเดตไฟล์ขณะtailที่POSIX กำหนดไว้ให้ใช้การวนซ้ำที่ค้างเป็นเวลา 1 วินาทีและคัดลอกไบต์ใด ๆ ที่มีอยู่ นี่ก็เพียงพอแล้ว แต่ POSIX ก็สนับสนุนให้การติดตั้งใช้วิธีที่มีประสิทธิภาพมากกว่า อย่างน้อยหางของ GNU นั้นใช้การบอกกล่าวดังนั้นจึงมีประสิทธิภาพมากกว่า less เก็บเนื้อหาของไฟล์ไว้ในหน่วยความจำด้วยไฟล์ขนาดใหญ่เช่นไม่กี่กิกะไบต์ก็สามารถทำให้คอมพิวเตอร์ของคุณช้าลงได้ ดังนั้นจะมีคนอื่น ๆ ใด ๆทางเทคนิคเหตุผลที่จะใช้tail -fมากกว่าless +F?
34 tail  less 

3
ท่อจาก grep ไปยัง awk ไม่ทำงาน
ฉันพยายามที่จะบันทึกไฟล์grepอย่างต่อเนื่องtailและได้nคำจากบรรทัด ไฟล์ตัวอย่าง: $ cat > test.txt <<EOL Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam goes bye EOL ^C ตอนนี้ถ้าฉันทำtail: $ tail -f test.txt Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam …
34 bash  grep  rhel  awk  tail 

1
ฉันต้องกังวลเกี่ยวกับ“ tail: ระบบไฟล์ที่ไม่รู้จักชนิด 0xbeefdead” หรือไม่?
tail -f -n 50 filenameฉันพยายามที่จะปฏิบัติตามแฟ้มข้อความปกติด้วย ฉันได้รับข้อมูลจากไฟล์ได้ดียกเว้นฉันได้รับข้อความแสดงข้อผิดพลาดนี้เสมอ: tail: ระบบไฟล์ที่ไม่รู้จักชนิด 0xbeefdead มันเกิดขึ้นกับทุกไฟล์ 0xbeefdeadกังวลฉัน - มันดูเหมือนว่าแท็กแฮ็กเกอร์ $ tail --version tail (GNU coreutils) 8.4
32 tail 

3
ฉันจะ“ แมวและติดตาม” ไฟล์ได้อย่างไร
wgetไฟล์จะถูกดาวน์โหลดตามลำดับโดย หากฉันเริ่มเปิดออกด้วยcat myfile.tar.bz2 | tar -xjอาจเป็นแกะอย่างถูกต้องหรือล้มเหลวด้วย "ไม่คาดคิด EOF" ขึ้นอยู่กับสิ่งที่เร็วขึ้น วิธี "cat และ follow" ไฟล์เช่นเนื้อหาที่ส่งออกของไฟล์ไปยัง stdout แต่ไม่ออกจาก EOF ให้หม่อม subribed ไปที่ไฟล์นั้นและทำการส่งออกส่วนใหม่ของข้อมูลออกต่อเมื่อปิดไฟล์โดย ผู้เขียนและไม่เปิดใหม่ภายใน N วินาที ฉันได้สร้างสคริปต์cat_and_followตามคำตอบของ @ arielCo ซึ่งจะยุติtailเมื่อไฟล์ไม่ถูกเปิดเพื่อการเขียนอีกต่อไป
31 files  pipe  cat  tail  open-files 

4
จะทำ 'wc -l' อย่างต่อเนื่องกับ gnu texttools ได้อย่างไร?
ฉันรู้แน่นอนว่า cat logfile.txt | wc -l 120 จะบอกจำนวนบรรทัดในไฟล์ให้ฉัน แต่ทว่า tail -f logfile.txt จะแสดงบรรทัดใหม่ที่โปรแกรมอื่นเขียนถึงlogfile.txtฉัน เป็นไปได้หรือไม่ที่จะรวมทั้งสองอย่างเพื่อให้ฉันได้รับการนับจำนวนบรรทัดใหม่อย่างต่อเนื่องของ logfile.txt ด้วยยูทิลิตี้ข้อความมาตรฐาน? ฉันรู้เกี่ยวกับ watch wc -l logfile.txt แต่ฉันไม่ต้องการนับไฟล์ใหม่ทุกครั้งที่ดูเหมือนว่าจะเป็นการสิ้นเปลือง หนึ่งจะต้องมีการผนวกเพียงนับทุกวินาทีหรือมากกว่านั้นและอาจจะ\rแทนที่จะเป็น\nในตอนท้ายของบรรทัด

8
grep และหาง -f
เป็นไปได้ที่จะทำtail -f(หรือคล้ายกัน) ในไฟล์และgrepในเวลาเดียวกัน? ฉันจะไม่รังเกียจคำสั่งอื่น ๆ เพียงแค่มองหาพฤติกรรมแบบนั้น

4
การรวมส่วนท้าย && journalctl
ฉันกำลังปรับแต่งบันทึกของแอพและ postgres tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log ฉันต้องรวมบันทึกของ pgpool ด้วย มันเคยเป็น syslog แต่ตอนนี้มันอยู่ใน journalctl มีวิธีผูกหาง -f && journalctl -f ด้วยกันไหม?

3
ติดตามท่อโดยใช้น้อยลงหรือไม่
สามารถติดตามน้อยลง (โดยกด F) อินพุต piped (คล้ายกับไฟล์) ได้หรือไม่? สำหรับไฟล์ที่กำลังถูกเขียนไปยังคำสั่ง less <file> จะติดตามไฟล์เมื่อกด F แต่ถ้าฉันมีคำสั่งที่ไพพ์เอาต์พุตโดยตรงให้น้อยลงเช่นนี้ command | less การกด F จะไม่ทำอะไรเลย ดังนั้นดูเหมือนว่าไม่สามารถติดตามท่อเหมือนไฟล์ได้หรือไม่ หรือบางทีมันอาจจะเกี่ยวข้องกับคำสั่งที่เขียนถึง STDERR ด้วย เอฟเฟกต์ที่ฉันพยายามจะบรรลุนั้นจะเห็นผลลัพธ์ล่าสุดของคำสั่งเช่นเดียวกับที่กด PageDown ค้างไว้! คำพูดที่เกี่ยวข้องมีไว้สำหรับ G (ไปที่จุดสิ้นสุด): เมื่อการไพพ์โดยตรงไปที่น้อยกว่ามันจะไม่ทำงาน
25 pipe  less  tail 

9
คำสั่งให้แสดงสองสามบรรทัดแรกและสองสามบรรทัดสุดท้ายของไฟล์
ฉันมีไฟล์ที่มีหลายแถวและแต่ละแถวมีการประทับเวลาตอนเริ่มต้นเช่น [Thread-3] (21/09/12 06:17:38:672) logged message from code..... ดังนั้นฉันมักตรวจสอบ 2 สิ่งจากไฟล์บันทึกนี้ สองสามแถวแรกที่มีเงื่อนไขโกลบอลและเวลาเริ่มต้นจะได้รับด้วย ไม่กี่แถวสุดท้ายที่มีสถานะการออกพร้อมกับข้อมูลอื่น ๆ มีคำสั่งเดียวที่มีประโยชน์อย่างรวดเร็วที่สามารถให้ฉันแสดงบรรทัดแรกและสองสามบรรทัดของไฟล์ได้หรือไม่?

6
มีวิธีทำเสียงเตือนแบบหาง -F หรือไม่?
มีวิธีทำtail -Fหรือlessส่งเสียงบี๊บ (กดกริ่งในเทอร์มินัล) เมื่อมีข้อมูลใหม่เข้ามา (มีการเพิ่มบรรทัดใหม่ในไฟล์) หรือมียูทิลิตี้ยูนิกซ์อื่น ๆ ให้ทำเช่นนี้บน linux หรือ mac
23 less  tail  bell 

5
วิธีออกจากโหมด `tail -f` โดยไม่ใช้` Ctrl + c`?
เมื่อฉันtail -f filenameจะออกจากโหมดโดยไม่ใช้Ctrl+cเพื่อฆ่ากระบวนการได้อย่างไร สิ่งที่ฉันต้องการเป็นวิธีปกติที่จะเลิกชอบในqtop ฉันแค่อยากรู้เกี่ยวกับคำถามเพราะฉันรู้สึกว่าการฆ่ากระบวนการไม่ใช่วิธีที่ดีในการออกจากบางสิ่ง
22 tail 

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