Verwenden Sie find und wc -L, um Dateien mit Zeilen zu finden, die länger als 500 Zeichen sind


0

Ich habe diesen Befehl:

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

Und ich glaube, es gibt mir die Anzahl der längsten Zeile für jede Datei. Aber ich suche nach einer Möglichkeit, die Anzahl und den Speicherort der Dateien nur dann auszudrucken, wenn die Länge größer als 500 ist.

Hat das schon mal jemand gemacht?

Antworten:


1

Hier ist ein grobes Skript, das macht, was Sie wollen

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

Die Ausgabe der find- wcKombination wird an eine while readSchleife weitergeleitet, die jede Zeile mit maximaler Länge und Dateiname in die Variablen $maxlinelengthund einfügt $filename. Das ifprüft dann, ob 500kleiner als $maxlinelengthund ob es die Werte druckt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.