วิธีการสั่งซื้อไฟล์ตามวันที่ในรายการเสร็จแท็บ


9
$ 7z l ~ / ดาวน์โหลด /Tab

วิธีการทำให้รายการผลลัพธ์เรียงตามวันที่ไม่ใช่ตามชื่อ?

ขณะนี้ฉันใช้สคริปต์พิเศษเพื่อแสดงรายการ N ไฟล์ล่าสุดในไดเรกทอรีที่กำหนด (และคัดลอกชื่อไฟล์ด้วยตนเองลงในบรรทัดคำสั่ง) แต่ต้องการทำให้ราบรื่นและสะดวกยิ่งขึ้น


4
ง่ายใน zsh ฉันไม่รู้ว่าเป็นไปได้ในการทุบตี
Gilles 'ดังนั้นหยุดความชั่วร้าย'

คุณต้องการที่จะเห็นไฟล์ที่แสดงตามวันที่หรือคุณต้องการที่จะเพิ่มไฟล์เหล่านั้นลงในไฟล์เก็บถาวรตามลำดับวันที่หรือไม่?
terdon

มีหลายไฟล์ในไดเรกทอรี "ดาวน์โหลด" และฉันต้องการเข้าถึงไฟล์ที่ดาวน์โหลดเมื่อเร็ว ๆ นี้ (อาจแกะมันออกหรือย้ายที่อื่น)
วิ

คำตอบ:


2

ฉันไม่คิดว่าสามารถที่จะทำเช่นนั้นดังนั้นคุณอาจลองbash zshฉันไม่ใช่ผู้ใช้ zsh แต่ฉันคิดว่าการกำหนดค่านี้ควรใช้งานได้:

autoload -U compinit
compinit
zstyle ':completion:*' file-sort modification reverse

( reverseที่นี่เพื่อดูไฟล์ใหม่ล่าสุดในตอนท้ายของรายการเนื่องจากส่วนบนอาจไม่ปรากฏบนหน้าจอ)


0

บางครั้งฉันต้องการค้นหาไฟล์ที่ดาวน์โหลดล่าสุดในไดเรกทอรีดาวน์โหลด แต่อาจไม่ทราบชื่อไฟล์ที่แน่นอน นี่คือวิธีที่ฉันทำ

ls -rt ~/Downloads

ls -tแสดงรายการไฟล์ตามเวลาที่ไม่ได้ตั้งชื่อโดยแสดงไฟล์ล่าสุดก่อน เนื่องจากไดเรกทอรีดาวน์โหลดของฉันมีไฟล์มากมายฉันไม่ต้องการเลื่อนไปด้านบนสุดของรายการเพื่อดูล่าสุด ls -rtกลับลำดับของรายการโดยแสดงไฟล์ล่าสุดที่ด้านล่างของรายการ

คุณสามารถทำสิ่งที่คุณต้องการได้ง่ายๆ ตัวอย่างเช่น:

unzip $(ls -rt ~/Downloads | tail -n1)

หรือ

mv $(ls -rt ~/Downloads | tail -n1) *some_other_location*

คำถามเดิมของคุณสามารถทำได้ดังนี้

7z l $(ls -rt ~/Downloads | tail -n1)

ฉันรู้ว่านี่ไม่ได้เป็นไปตามวิธีการเสร็จสิ้นของแท็บ แต่อาจเหมาะกับความต้องการของคุณ


ไม่บันทึกการพิมพ์ ที่จริงผม alredy มีสคริปต์rlกับls -lhtc "$@" | head -n $Nทำนี้
วิ

คำถามคือวิธีที่จะรวมสคริปต์นี้หรือสคริปต์อื่นเข้าไว้ใน <kbd> แท็บ </kbd> ทำให้คิดได้อย่างราบรื่น
วิ

ตัวอย่างข้อมูลของคุณมีแนวโน้มที่จะทำลายชื่อไฟล์ที่ยุ่งยากเช่นเดียวกับไฟล์ที่ดาวน์โหลด
วิ

0

ฉันจะทำตามขั้นตอนต่อไปนี้

  1. First I will find the files and their timestamps
  2. Sort them reversely
  3. Take top N
  4. Get the filenames
  5. Zip it or do whatever u like

และสคริปต์มีลักษณะเช่นนี้ (อาจซับซ้อน)

find ~/Downloads/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | head -N | cut -d' ' -f3 | xargs 7z l

ฉันมีสคริปต์ชื่อคล้ายกันแล้วrl(รายการล่าสุด) แต่ฉันต้องเรียกมันอย่างชัดเจนจากนั้นคัดลอกและวาง ฉันต้องการให้มีการรวมกับความสมบูรณ์ของแท็บมากขึ้น
วิ

-1

ในทุบตีคุณสามารถปิดบางสิ่งบางอย่างโดยใช้ตัวอย่างเช่น

7z l ~/Downloads/Alt+n

โดยที่bindแมปAlt+nไปยังฟังก์ชันที่เขียนREADLINE_LINEตัวแปรอีกครั้ง

เพื่อประมาณความสมบูรณ์ของแท็บฉันทำสิ่งนี้ด้วยการวิเคราะห์อาร์กิวเมนต์ - perl-kludge และfzfสำหรับการนำเสนอเมนู

https://github.com/WillForan/fuzzy_arg/blob/master/fuzzy_new_complete.bash

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