GNU/Linux >> Belajar Linux >  >> Linux

Linux – Mendapatkan File Untuk Tanggal Saat Ini Di Linux?

Biasanya date +%d memberikan output 08 untuk tanggal saat ini, 08/10/2017. Tetapi ketika saya melakukan ls -lrt di jalan, format tanggal seperti Oct 8 15:03 , jadi, bagaimana cara mendapatkan file tanggal saat ini?

Saya menggunakan perintah

ls -lrt XYZ.LOG* |grep "$(date +'%b %d')" |awk '{print $9}'

tapi itu tidak memberi saya file tanggal hari ini (08/10/2017) meskipun itu memberi saya output yang benar untuk tanggal 10 – 31 setiap bulan.

Jawaban yang Diterima:

Ini sedikit curang, tetapi berhasil.

Pertama buat file referensi kosong dengan stempel waktu tertentu, yaitu tengah malam:

touch -d "$(date +%FT00:00:00)" /tmp/midnight

Kemudian cari file yang lebih baru dari file ini:

find . -type f -newer /tmp/midnight

Jika Anda ingin ls -seperti keluaran dari find bukan hanya nama path:

find . -type f -newer /tmp/midnight -ls

Jika Anda ingin menemukan file yang cocok dengan pola XYZ.LOG* :

find . -type f -name 'XYZ.LOG*' -newer /tmp/midnight -ls

Jika Anda memiliki GNU find , Anda dapat melewati file sementara dan menggunakan

find . -type f -newermt 0

untuk mendapatkan file yang dimodifikasi sejak tengah malam.

Terkait:Mengapa *tidak* mengurai `ls`?


Linux
  1. Linux:Bagaimana Menemukan Driver Perangkat yang Digunakan Untuk Perangkat?

  2. Bagaimana Cara Menemukan Aplikasi Untuk Tipe Mime Di Linux?

  3. Gunakan Temukan dan Temukan untuk mencari file di Linux

  1. Linux menemukan perintah

  2. Cara Menggunakan Perintah find Linux untuk Menemukan File

  3. Daftar file secara rekursif di Linux CLI dengan jalur relatif ke direktori saat ini

  1. Temukan file dan direktori terbesar di Linux

  2. Cara memeriksa file besar di konsol

  3. Menyalin file berdasarkan tanggal modifikasi di Linux