Menggunakan find dan wc -L untuk menemukan file yang berisi baris lebih dari 500 karakter

0

Saya punya perintah ini:

find . -name "*.php"  -exec wc -L '{}' \; 

Dan saya percaya itu memberi saya hitungan garis terpanjang untuk setiap file. Tapi saya mencari cara untuk hanya mencetak jumlah dan lokasi file jika panjangnya lebih besar dari 500.

Adakah yang pernah melakukan ini sebelumnya?

Nathan Clark
sumber

Jawaban:

1

di sini adalah skrip mentah yang melakukan apa yang Anda inginkan

find . -name "*.php"  -exec wc -L '{}' \; |
  while read maxlinelength filename
  do
    if [ 500 -lt $maxlinelength ]
    then
      echo $maxlinelength $filename
    fi
  done

output dari find- wckombinasi disalurkan ke while readloop yang menempatkan setiap baris maxlinelength dan nama file dalam variabel $maxlinelengthdan $filename. yang ifkemudian memeriksa apakah 500kurang dari $maxlinelengthdan jika itu adalah mencetak nilai-nilai.

lesmana
sumber