GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendaftar jenis file tertentu dalam direktori rekursif di shell?

find . | grep "\.doc$"

Ini juga akan menunjukkan jalurnya.


ls output perintah terutama ditujukan untuk dibaca oleh manusia. Untuk kueri tingkat lanjut untuk pemrosesan otomatis, Anda harus menggunakan find yang lebih canggih perintah:

find /path -type f \( -iname "*.doc" -o -iname "*.pdf" \) 

Seolah-olah Anda memiliki bash 4.0++

#!/bin/bash
shopt -s globstar
shopt -s nullglob
for file in **/*.{pdf,doc}
do
  echo "$file"
done

Jika Anda lebih nyaman dengan "ls" dan "grep", Anda dapat melakukan apa yang Anda inginkan menggunakan ekspresi reguler dalam perintah grep (karakter akhiran '$' menunjukkan bahwa .doc harus berada di akhir baris. Itu akan kecualikan "file.doc.txt"):

ls -R |grep "\.doc$"

Informasi lebih lanjut tentang menggunakan grep dengan ekspresi reguler di man.


Linux
  1. Bagaimana Cara Grep Dalam File Pdf?

  2. Bagaimana Menemukan Banyak String Dalam File??

  3. Bagaimana Mendaftar Ukuran File Rekursif Dari File Dan Direktori Di Direktori?

  1. Cara menyalin direktori secara rekursif menggunakan rsync sambil mengecualikan file tertentu

  2. Bagaimana Anda membedakan direktori hanya untuk file dari jenis tertentu?

  3. Bagaimana menemukan / mendaftar semua file unik di dua direktori?

  1. Bagaimana Cara Mencari Di File Tertentu yang Sesuai Dengan Pola?

  2. Bagaimana cara menemukan semua file dan direktori yang dapat ditulis oleh pengguna tertentu?

  3. linux - bagaimana cara mendaftar partisi dengan tipe tertentu?