GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Menemukan Semua File Yang Tidak Mengandung String Teks?

Apa yang ringkas perintah yang dapat saya gunakan untuk menemukan semua file yang TIDAK berisi string teks?

Saya mencoba ini (menggunakan -v untuk membalikkan parameter grep) tidak berhasil:

find . -exec grep -v -l shared.php {} ;

Seseorang mengatakan ini akan berhasil:

find . ! -exec grep -l shared.php {} ;

Tapi sepertinya tidak berhasil untuk saya.

Halaman ini memiliki contoh ini:

find ./logs -size +1c  > t._tmp
while read filename
do
     grep -q "Process Complete" $filename
     if [ $? -ne 0 ] ; then
             echo $filename
     fi
done < t._tmp
rm -f t_tmp

Tapi itu rumit dan sama sekali tidak ringkas.

ps:Saya tahu bahwa grep -L * akan melakukan ini, tetapi bagaimana saya bisa menggunakan perintah find dalam kombinasi dengan grep ke file yang dikecualikan adalah yang benar-benar ingin saya ketahui.

pss:Saya juga tidak yakin bagaimana grep menyertakan subdirektori dengan grep -L * sintaks, tetapi saya masih ingin tahu cara menggunakannya dengan find

Jawaban yang Diterima:

find . -type f | xargs grep -H -c 'shared.php' | grep 0$ | cut -d':' -f1    

ATAU

find . -type f -exec grep -H -c 'shared.php' {} ; | grep 0$ | cut -d':' -f1

Di sini kita menghitung jumlah baris yang cocok (menggunakan -c ) dalam sebuah file jika hitungannya adalah 0 maka itu adalah file yang diperlukan, jadi kami memotong kolom pertama yaitu nama file dari output.


Linux
  1. Bagaimana Menemukan Banyak String Dalam File??

  2. Bagaimana menemukan semua file yang jarang di Linux

  3. Perintah Linux:Bagaimana cara 'menemukan' hanya file teks?

  1. Bagaimana menemukan file teks yang tidak mengandung teks di Linux?

  2. Cara gzip semua file di semua sub-direktori di bash

  3. Bagaimana cara menemukan semua file yang berisi teks tertentu di Linux?

  1. Bagaimana saya bisa menemukan semua file yang di-hardlink pada sistem file?

  2. Bagaimana cara menemukan semua file yang *tidak* dapat ditulisi oleh grup?

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