2013-04-18 7 views

Antwort

7

awk -F, 'NR<101{$2="e";}1' OFS=, file

NR integrierte Variable gibt Ihnen entweder die Gesamtzahl der Datensätze verarbeitet oder Zeilennummer abhängig von der Verwendung . In dem obigen awk-Beispiel hat die Variable NR die Zeilennummer. Wenn Sie das Muster NR<101 setzen, wird die Aktion für die ersten 100 Zeilen wahr. Sobald es falsch ist, wird es standardmäßig 1, die verbleibenden Zeilen unverändert drucken.

+1

@ Jaypal..what wenn ich obige Bedingung für 100-200 Reihen der CSV-Datei – user752590

+0

@ user752590 Put Muster als 'awk -F‚NR> 99 && NR anzuwenden <201 {$ 2 = "e";} 1 'OFS =, Datei' –

+0

Wie kann ich angeben, dass ich e nur an einige Zeilen und nur an einige Spalten anhängen möchte? Zum Beispiel möchte ich e zu Spalten größer als 10 in Zeile 1 hinzufügen? – discipulus

5

versuchen Sie dies:

awk -F, 'NR<=100{$2="e"}1' OFS=, file 
+1

Oder sogar FNR könnte verwendet werden, wenn mehrere Dateien als Argument angegeben werden. Aber das Ergebnis wird ein großer Strom sein. – TrueY

+0

Wie kann ich angeben, dass ich e nur an einige Zeilen und nur an einige Spalten anhängen möchte? Zum Beispiel möchte ich e zu Spalten größer als 10 in Zeile 1 hinzufügen. – discipulus

Verwandte Themen