GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mencetak Nama File Yang Hilang Dalam Folder?

Saya memiliki 2000+ file dalam satu folder, tetapi ada beberapa file yang hilang dari folder tersebut.

Nama filenya seperti

GLDAS_NOAH025SUBP_3H.A2003001.0000 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003001.0600 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003001.1200 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003001.1800 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003002.0000 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003002.0600 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003002.1200 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003002.1800 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003003.000 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003003.0600 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003003.1200 .001.2015210044609.pss.grb
GLDAS_NOAH025SUBP_3H.A2003003.1800 .001.2015210044609.pss.grb

001 menunjukkan hari, sedangkan 0000 adalah jamnya.

Bagaimana cara mengetahui file mana yang hilang dalam folder? Saya mendapat sedikit jawaban di google tetapi tidak tahu bagaimana menerapkannya.

Jawaban yang Diterima:

Dengan zsh atau bash4 , Anda dapat menggunakan ekspansi brace untuk itu:

ls -d GLDAS_NOAH025SUBP_3H.A2003{001..006}.{0000,0600,1200,1800}.001.2015210044609.pss.grb >/dev/null

Perhatikan tanda kurung:

  • {001..006} berarti perluas ke 001 , 002 , … 006
  • {0000,0600,1200,1800} untuk setiap salah satu di atas tambahkan 0000 , 0600 , 1200 dan 1800 .
  • >/dev/null adalah untuk menghindari keluaran standar ls -> kami hanya menginginkan kesalahan standar

Sekarang jika satu file tidak ada, ls akan menampilkan kesalahan untuk itu:

ls: cannot access GLDAS_NOAH025SUBP_3H.A2003004.0000.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003004.0600.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003004.1200.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003004.1800.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003005.0000.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003005.0600.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003005.1200.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003005.1800.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003006.0000.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003006.0600.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003006.1200.001.2015210044609.pss.grb: No such file or directory
ls: cannot access GLDAS_NOAH025SUBP_3H.A2003006.1800.001.2015210044609.pss.grb: No such file or directory

Dengan ksh93 , ganti {001..006} dengan {1..6%.3d} .


Linux
  1. Bagaimana menemukan semua file yang jarang di Linux

  2. Bagaimana cara mengatur nama utas di Linux pthreads?

  3. Bagaimana menemukan direktori terbesar atau file terbesar?

  1. Bagaimana Cara Mengubah Ekstensi Banyak File?

  2. Bagaimana cara mencetak/menampilkan Nama Prinsipal Pengguna atau UPN sertifikat p12 di Linux?

  3. Bagaimana saya bisa memfilter secara rekursif nama file yang saya inginkan dengan wildcard?

  1. Cetak Semua File Dalam Folder?

  2. Bagaimana Cara Menulis Jalur Folder Dengan Spasi Di Namanya??

  3. Bagaimana Saya Dapat Mengubah Nama Banyak File Dalam Sebuah Folder?