ไฮไลต์สามไฟล์ที่อัพเดตล่าสุดในเอาต์พุต ls


10

มีวิธีใดที่จะโอเวอร์โหลดหรือปิดlsคำสั่งเพื่อให้ไฮไลต์ / ขีดเส้นใต้ / มิฉะนั้นจะทำให้ไฟล์สามไฟล์ที่ผ่านการแก้ไขมีความชัดเจนหรือไม่?

ฉันรู้ว่าฉันสามารถls -rtlสั่งซื้อได้ตามเวลาการแก้ไขแบบย้อนกลับ แต่ฉันมักจะต้องการรายชื่อเรียงตามตัวอักษรของไฟล์แม้ว่าฉันจะต้องการระบุไฟล์ล่าสุดที่ตนเองหรือผู้อื่นดัดแปลงอย่างรวดเร็ว

คำตอบ:


15

ต่อไปนี้ดูเหมือนว่าจะทำงานให้ฉัน

 grep --color -E -- "$(ls -rtl | tail -n3)|$" <(ls -l)

มันใช้ grep พร้อมไฮไลต์ที่อินพุตls -lและใช้นิพจน์ทั่วไปเพื่อค้นหาอินพุตใด ๆ สำหรับคำสั่งที่เก่าแก่ที่สุดสามคำสั่ง นอกจากนี้ยังค้นหาจุดสิ้นสุดของบรรทัด$เพื่อพิมพ์ไฟล์ทั้งหมด

นอกจากนี้คุณยังสามารถใส่ไว้ในฟังก์ชันเช่นที่คุณสามารถใช้lll *กับอาร์กิวเมนต์หลายตัวเช่นเดียวกับที่คุณจะใช้ls

function lll ()
{
    command grep --color -E -- "$(ls -rtl $@ | tail -n3)|$" <(ls -l $@)
}

1
1: นั่นมาก nicer กว่าบ้าหนึ่งซับในที่สุดผมขึ้นมาด้วย:ls -l | grep --color=ALWAYS -C 1000 -E `ls -rt | tail -n 3 | perl -0777 -e '$x=join("|",split(" ",<>));print $x'`
ire_and_curses

2
นั่นคือมหากาพย์ขัน : D
whoami

งานที่ยอดเยี่ยม ฉันจะทราบว่าหากคุณลองในไดเรกทอรีที่มีไฟล์น้อยกว่าสามไฟล์ฉันจะได้รับข้อผิดพลาด "grep: ช่วงที่ไม่ถูกต้อง"
Jason R

1
@dotancohen คุณกำลังต้อนรับขอบคุณสำหรับความท้าทาย :)
เบอร์นาร์ด

1
function lll () { command grep --color -E -- "$(ls -rtl $1 | tail -n3)|$" <(ls -l $1) }ด้วยฟังก์ชันนี้คุณสามารถให้ไดเรกทอรีเป็นอาร์กิวเมนต์ได้เช่นlll /home@dotancohen
Bernhard

4

มันจะไม่เน้นไฟล์ที่ถูกแก้ไขทั้งสามครั้งล่าสุด (ซึ่งฉันคิดว่าเป็นเรื่องยากที่จะได้รับความเชื่อถือได้) แต่ls++อาจเพียงพอสำหรับสิ่งที่คุณต้องการ มันไฮไลท์ไฟล์ตามอายุสัมพัทธ์จัดกลุ่มตามไฟล์สีที่เป็นวินาทีชั่วโมงวันหรือเดือน

ภาพหน้าจอของ ls ++

คุณสามารถกำหนดค่าสีเพื่อให้ไทม์เซลที่คุณมักจะทำงานได้ชัดเจนยิ่งขึ้น (สำหรับการเข้ารหัสที่ใช้งานชั่วโมงกับวันเป็นจุดข้ามที่สำคัญที่สุดสำหรับฉัน)


ขอบคุณมาก อย่างไรก็ตามฉันมักจะ SSHing เป็นเซิร์ฟเวอร์ที่ฉันไม่สามารถติดตั้งแพคเกจ
dotancohen

1
@dotancohen เป็นสคริปต์ perl เดียวคุณควรติดตั้งในโฮมไดเร็กตอรี่ของคุณ ( ~/binหรือบางอย่าง, เพิ่มใน PATH ในโปรไฟล์) - แม้ว่ามันจะไม่ทำงานหากมีการพึ่งพาที่ไม่ได้ติดตั้ง
Random832

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