จะแสดงรายการไฟล์เฉพาะบางประเภทในเทอร์มินัลอย่างไร


1

ฉันจะแสดงรายการไฟล์บางประเภททั้งหมดในไดเรกทอรีได้อย่างไร

ตัวอย่างเช่นหากฉันต้องการดูไฟล์ MP3 ทั้งหมดในโฟลเดอร์ปัจจุบันฉันจะทำอย่างไร

คำตอบ:


2

ไม่คำนึงถึง วิภัตติ คุณสามารถใช้ file คำสั่งเพื่อระบุไฟล์เสียง นั่นซับซ้อนกว่าแบบง่าย ๆ ls คำสั่งสามารถทำได้ดังนั้นหนึ่งจะใช้สคริปต์ ตัวอย่างเช่น (ID3 น่าจะเป็น file ศัพท์แสงสำหรับ MP3):

#!/bin/sh
for name in "$@"
do
    case $(file "$name") in
    (*Audio*ID3*)
        ls -l "$name"
        ;;
    esac
done

วาง ที่ ในเส้นทางปฏิบัติการของคุณ (เช่น ~/bin ในฐานะ "ls-audio") คุณสามารถทำได้

ls-audio *

เพื่อแสดงรายละเอียดของไฟล์เสียง MP3


#!/bin/sh - เป็นแบบนั้นจริงๆ sh และไม่ bash? - ถ้าคุณหมายถึงทุบตีแล้วเปลี่ยนเป็นทุบตี
Hannu

หากฉันต้องการใช้คุณสมบัติเฉพาะของ bash ฉันจะใช้ bash สคริปต์นี้ไม่ได้ใช้คุณสมบัติเฉพาะของ bash (เพียง POSIX)
Thomas Dickey

ดูเหมือนว่าฉันอาจจะไม่ได้ระบุไว้ชัดเจนเพียงพอ คำแนะนำ: คือ sh บน OSX เป็นเพียงฮาร์ดลิงก์ bash? สำหรับ Ubuntu 14.04 มันเป็นลิงค์ไปยัง dash... คุณอาจมีปัญหาที่เกิดขึ้นจากการที่คุณไม่ได้รับสิ่งที่คุณคาดหวัง - POSIX หรือไม่ระดับการปฏิบัติตามจะแตกต่างกันไป
Hannu

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


-1

คุณสามารถไปที่ไดเรกทอรีที่คุณต้องการสืบค้นโดยใช้ cd คำสั่งเพื่อไปยังไดเรกทอรีที่คุณต้องการสอบถาม กว่าพิมพ์ค่ะ ls *.mp3 เพื่อแสดงรายการไฟล์ทั้งหมดที่มีนามสกุลไฟล์ที่คุณต้องการค้นหา

ตัวอย่างเช่นถ้าคุณต้องการที่จะเห็นทั้งหมด .txt ไฟล์บนเดสก์ท็อปของคุณคุณสามารถพิมพ์ได้อย่างง่าย cd ~/Desktop และประเภทถัดไปใน ls *.txt ซึ่งจะให้ผลลัพธ์ของ

lists.txt
output.txt
output2.txt

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