ฉันกำลังลองหนึ่งคำสั่งซึ่งลบไฟล์ทั้งหมดออกจากตำแหน่งยกเว้นอันล่าสุด ฉันมีคำสั่งทำงานสำหรับ linux แต่มันไม่ทำงานบนเครื่อง Solaris
คำสั่งด้านล่างจะลบไฟล์ทั้งหมดยกเว้น 10 รายการสุดท้าย
ls -l /*.tps | head -n -10 | rm -rf
ฉันกำลังลองหนึ่งคำสั่งซึ่งลบไฟล์ทั้งหมดออกจากตำแหน่งยกเว้นอันล่าสุด ฉันมีคำสั่งทำงานสำหรับ linux แต่มันไม่ทำงานบนเครื่อง Solaris
คำสั่งด้านล่างจะลบไฟล์ทั้งหมดยกเว้น 10 รายการสุดท้าย
ls -l /*.tps | head -n -10 | rm -rf
คำตอบ:
ls -t {pattern} | tail -n +2 | xargs rm
ใน Slow-mo:
rm
ติดตามหน้า man ของ Oracle และสมมติว่าคุณหมายถึงไฟล์ 'ล่าสุด' 'ล่าสุด' ฉันแนะนำวิธีต่อไปนี้:
ls -1tr | tail -n +11 | xargs rm
สำหรับ linux และ
ls -1tr | /usr/xpg4/bin/tail -n +11 | xargs rm
สำหรับ คำพยากรณ์
ในการลบไฟล์ทั้งหมดออกจากตำแหน่งยกเว้นไฟล์ล่าสุดคุณสามารถใช้คำสั่งข้ามแพลตฟอร์มนี้:
ls -1t /location | sed -n '2,$p' | xargs rm
โปรแกรม Sed 2,$p
พิมพ์ทุกบรรทัดตั้งแต่ 2 ถึงท้ายอินพุต