GNU/Linux >> Belajar Linux >  >> Linux

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

Saya berada di folder dengan banyak .txt file, saya ingin mencari semua file yang berisi stringA dan stringB (tidak harus pada baris yang sama), lalu daftarkan file-file ini dalam urutan ukuran (dari kecil ke besar)

Saya telah mencoba yang berikut ini, tetapi tidak berhasil:

ls -lS | for f in *; do grep -q stringA $f && grep -l stringB $f; done

Adakah yang punya ide bagus?

Jawaban yang Diterima:

Anda dapat menggunakan GNU find :

find . -maxdepth 1 -exec grep -q stringA {} ; -exec grep -q stringB {} ; 
        -printf '%10s %pn' | 
    sort -n

Linux
  1. Bagaimana Cara Mencari File Berdasarkan Ukuran Dan Ekstensi?

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

  3. Linux – Mendapatkan File Untuk Tanggal Saat Ini Di Linux?

  1. Bagaimana Menemukan Banyak String Dalam File??

  2. Temukan kata tertentu dalam file dan buat daftar baris

  3. Cara mendapatkan semua file yang melebihi ukuran tertentu dan menghapusnya

  1. Temukan file dan direktori di Linux dengan perintah find

  2. Temukan banyak file dan ganti namanya di Linux

  3. Mencari string di banyak file di Linux