ผมชอบที่จะใช้ในการย้อนกลับการส่งออกของtac
cat
อย่างไรก็ตามมันไม่สามารถใช้ได้ในเทอร์มินัล Mavericks ฉันพยายามค้นหาบน MacPorts และไม่สามารถใช้งานได้อีก ใครช่วยกรุณาแสดงให้ฉันเห็นว่าจะได้รับtac
? มันมีประโยชน์มากสำหรับการอ่านไฟล์บันทึก
ผมชอบที่จะใช้ในการย้อนกลับการส่งออกของtac
cat
อย่างไรก็ตามมันไม่สามารถใช้ได้ในเทอร์มินัล Mavericks ฉันพยายามค้นหาบน MacPorts และไม่สามารถใช้งานได้อีก ใครช่วยกรุณาแสดงให้ฉันเห็นว่าจะได้รับtac
? มันมีประโยชน์มากสำหรับการอ่านไฟล์บันทึก
คำตอบ:
ใช่:
brew install coreutils
ln -s /usr/local/bin/gtac /usr/local/bin/tac
หรือใช้ MacPorts เพื่อติดตั้งcoreutils
ในลักษณะเดียวกัน
ls
กลายเป็นgls
, head
กลายเป็นghead
และอื่น ๆ ดังนั้นtac
ติดตั้งเป็นgtac
และ symlink ที่แนะนำในคำตอบนี้เป็นเพียงการให้tac
บริการภายใต้ชื่อนั้น ถนัด symlink gtac
คุณยังสามารถเรียกใช้โปรแกรมเป็น
ln -s
ไม่ใช่ls -s
สิ่งนี้สมเหตุสมผลมากขึ้นในขณะนี้ ฉันจะต้องใส่มันอย่างถูกต้องในครั้งแรก
บน OS / X เช่นเดียวกับหลายระบบ (BSDs, Solaris, AIX, IRIX ... ), การทำงานของ GNU tac
มีอยู่ในtail
กับ-r
ตัวเลือก ดังนั้นไม่จำเป็นต้องติดตั้ง GNU tac
:
tail -r the-file
alias tac='tail -r'
จะทำเคล็ดลับสำหรับ OP!
tac() { tail -r -- "$@"; }
ติดตั้ง gnu coreutils ที่คอมไพล์แล้วด้วยRudix :
sudo rudix install coreutils
หรือดาวน์โหลดและติดตั้งRudix coreutils
วิธีแก้ปัญหาชั่วคราวอาจเป็น:
alias tac='perl -e "print reverse(<>)"'
<>
ไม่เพียง แต่อ่านจาก STDIN @ARGV
แต่เลือกจาก stackoverflow.com/questions/29020883/…ฉันยังไม่รู้ว่าreverse
จะโหลดไฟล์ทั้งหมดลงในหน่วยความจำก่อนที่จะแสดงบรรทัดในลำดับย้อนกลับหรือไม่ นั่นคงจะแย่มาก
ln -s /usr/local/bin/gtac /usr/local/bin/tac
ทำงาน ... คำสั่งนั้นไม่ควรแสดงรายการบล็อกหน่วยความจำไฟล์บางส่วนเท่านั้นหรือ