Wie schreibe ich ein Shell-Skript, das zählt und ausgibt, wie viele Änderungen bei der Ausführung eines SED-Befehls vorgenommen wurden?
Beispiel: Verwenden Sie den Befehl SED, um jede Zeile zu löschen, wenn sie einem bestimmten Zeichen entspricht.
sed '/@gmail.com/d' F1.txt > RESULT.txt
F1.txt-Datei enthält:
abc123@gmail.com
zyz123@gmail.com
fgh456@yahoo.com
ght4789@msn.com
Die Ausgabe dieser Datei wäre:
fgh456@yahoo.com
ght4789@msn.com
Daher wurden zwei Zeilen abgeglichen und die beiden Zeilen gelöscht.
Nun, wie kann man dies in einem Shell-Skript mit einem Echo wiedergeben und vorschlagen, wie viele Zeilen durch diesen SED-Befehl geändert / gelöscht wurden?
Es sollte klingen und Print / Echo, 2 Zeilen wurden gelöscht. Können Sie bitte helfen, wie man dieses Shell-Skript erstellt?
#!/bin/bash
sed '/@gmail.com/d' F1.txt > RESULT.txt
$(wc -l <FileName)
, um jede Zeilenzahl und $((ArithmeticExpression))
die Differenz zurückzugeben.
$(( ... ))
im Handbuch nachgeschlagen? Was hast du nicht verstanden
wc -l
für beide Dateien verwenden und die Differenz berechnen.