Unix: Drucken Sie den Dateinamen und die Zeilennummer jeder Zeile, die 80 Zeichen jeder Datei in einem Ordner überschreitet

8

Der Titel fasst es zusammen. Ich arbeite in Unix, Korn Shell. Und ich versuche, den Dateinamen und die Zeilennummer jeder Zeile zu drucken, die 80 Zeichen jeder Datei im aktuellen Ordner überschreitet.

Ich kann " awk 'length & gt; 80' * .cpp " verwenden, um allen Zeilen mehr als 80 Zeichen zu geben, aber ich kann nicht scheinen, die Zeilennummern oder Dateinamen herauszuziehen. Ich habe versucht, auch Cat zu verwenden, weil es Zeilennummern erlaubt.

Die Idee ist, eine ähnliche Ausgabe zu erhalten:

%Vor%

Jede Hilfe wäre toll.

    
carlinyuen 23.03.2011, 16:39
quelle

2 Antworten

11

Fast da! Dies gibt Ihnen eine grep -Style-Ausgabe, die in Editoren wie Vim nützlich ist, um in der Ausgabe navigieren zu können:

%Vor%

Oder geben Sie das gewünschte Format an:

%Vor%

FILENAME und FNR (wie NR , aber für diese spezielle Datei) sind spezielle Variablen in awk .

Oder Sie könnten natürlich grep selbst verwenden:

%Vor%     
Johnsyweb 23.03.2011, 16:45
quelle
0
%Vor%     
Ignacio Vazquez-Abrams 23.03.2011 16:44
quelle

Tags und Links