ฉันจะls
จัดเรียงตามประเภทไฟล์ (เช่นไดเรกทอรีก่อนแล้วตามนามสกุลไฟล์) ได้อย่างไร คำตอบข้อเสนอแนะใน(Super User) LS ทำให้การจัดเรียงตามประเภทไฟล์ls
ผลในข้อผิดพลาดที่ไม่รู้จักตัวเลือกจาก
ฉันจะls
จัดเรียงตามประเภทไฟล์ (เช่นไดเรกทอรีก่อนแล้วตามนามสกุลไฟล์) ได้อย่างไร คำตอบข้อเสนอแนะใน(Super User) LS ทำให้การจัดเรียงตามประเภทไฟล์ls
ผลในข้อผิดพลาดที่ไม่รู้จักตัวเลือกจาก
คำตอบ:
ตามที่คุณทราบแล้วls
คำสั่งเวอร์ชันดาร์วินไม่สนับสนุน-X | --sort=extension
ตัวเลือก ตัวเลือกนี้จะไม่ซ้ำกับรุ่น GNU ls
ของ
คุณสามารถรับรุ่น GNU ls
สำหรับระบบของคุณ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือผ่านตัวจัดการแพ็กเกจHomebrewและระบบการย้ายพอร์ต ด้วยการติดตั้ง Homebrew ทำ:
brew install coreutils
เพื่อเพิ่มแพ็คเกจGNU Core Utilitiesลงในระบบของคุณ ยูทิลิตี้ทั้งหมดจะถูกนำหน้าด้วยg
ดังนั้นพวกเขาจึงไม่ชนกับค่าเริ่มต้นของดาร์วินที่ OS X มาพร้อมกับ
ด้วยการติดตั้ง GNU Core Utilites ตอนนี้คุณสามารถทำได้:
gls -X
และคุณจะเห็นผลลัพธ์เรียงตามที่คุณต้องการ
หากคุณต้องการใช้ GNU Core Utils แทนยูทิลิตี้ที่มาพร้อมกับ OS X คุณสามารถใส่บรรทัดต่อไปนี้ใน~/.bashrc
ไฟล์ของคุณ:
source /usr/local/Cellar/coreutils/8.14/aliases
และคุณไม่จำเป็นต้องใช้g
คำนำหน้ากับคำสั่งอีกต่อไป ฉันจะบอกว่านี่ไม่ใช่สิ่งที่ปลอดภัยอย่างสิ้นเชิงที่จะทำเพราะอุปกรณ์ GNU บางอย่างแตกต่างจากเครื่องมือทุบตีและดาร์วินในการทำงานของพวกเขาเพียงพอที่จะทำให้สิ่งอื่น ๆ ในเซสชั่นเปลือกของคุณ ดังนั้นทำด้วยความระมัดระวัง
ตามคำตอบในบทความ Super User ที่เชื่อมโยง :
ls -l |sort -d -k 1.1,1.1r -k 9 | cut -c 50-
หากคุณต้องการที่จะเห็นผลลัพธ์ทั้งหมดของls -l
เพียงแค่ออกจากcut
ส่วน
/bin/ls
มันเป็นแบบสแตนด์อโลนที่ปฏิบัติการอยู่ที่