GNU/Linux >> Belajar Linux >  >> Debian

Debian – Cari File Modifikasi Terakhir Dalam 2 Menit Terakhir Di Direktori Rumah Anda Yang Mengandung String Tertentu?

Saya mencari file di direktori home saya yang dimodifikasi dalam dua menit terakhir yang juga berisi string tertentu. Saya mencoba dengan perintah ini:

 find -type d -mmin -2 -ls | grep -Ril "mystring" 

Tampaknya berfungsi tetapi ternyata hanya mencetak file-file dengan string yang diberikan di dalamnya daripada file yang terakhir dimodifikasi 2 menit yang lalu yang berisi string. Sepertinya bagian pertama dari perintah tidak dijalankan.

Jawaban yang Diterima:

Anda memiliki upaya yang baik dengan saran Anda sendiri

find -type d -mmin -2 -ls | grep -Ril "mystring"

Ini akan mengidentifikasi direktori (-type d ) yang telah dimodifikasi dalam dua menit terakhir, bukan file (-type f ). Piping output -ls ke grep biasanya akan mencari nama file yang dihasilkan untuk mystring . Namun, dalam hal ini -R flag mengubah perilaku grep dan itu mengabaikan daftar nama file Anda, sebagai gantinya mencari melalui setiap file di dan di bawah direktori saat ini.

Jadi, mari kita bagi masalah menjadi dua bagian

  1. Cari file yang terakhir diubah dalam 2 menit terakhir di direktori home Anda

    find ~ -type f -mmin -2
    
  2. [File] yang berisi String tertentu

    grep -Fl 'certain String' {files...}
    

Sekarang Anda perlu menyatukannya. {} adalah pengganti untuk nama file yang dihasilkan oleh find dari langkah 1, dan + . di belakangnya menunjukkan bahwa {} dapat diulang beberapa kali , yaitu beberapa nama file

    find ~ -type f -mmin -2 -exec grep -Fl 'certain String' {} +

Mengubah grep untuk echo grep akan menunjukkan kepada Anda apa yang sedang dijalankan oleh find memerintah; ini bisa menjadi teknik debug yang berguna:

    find ~ -type f -mmin -2 -exec echo grep -Fl 'certain String' {} +

Harap pertimbangkan untuk menjalankan man find dan man grep untuk mengetahui berbagai opsi, seperti -F dan -l di grep -Fl , karena jika tidak, Anda tidak belajar apa pun dari latihan yang telah Anda tetapkan; Anda hanya menyalin jawaban.


Debian
  1. Bagaimana Menemukan Semua File Yang Tidak Mengandung String Teks?

  2. Grep Untuk Beberapa String Dalam File, Dan Kemudian Buat Daftar File Dalam Urutan Ukuran?

  3. Bagaimana Cara Menemukan File yang Dimodifikasi dalam 30 Hari Terakhir di Linux?

  1. linux:cari file bertipe *.php yang baru saja dimodifikasi

  2. Cara cepat untuk mencari baris kode tertentu melalui banyak file dalam sebuah proyek

  3. grep untuk menemukan file yang berisi string lebih dari x karakter?

  1. Temukan File Untuk Beberapa Variasi Pada Nama File Yang Ada Bersama Di Direktori Yang Sama?

  2. Cara menemukan file yang tidak berisi string pencarian tertentu

  3. Cara mencari kata di seluruh isi direktori di linux