Zum Beispiel möchte ich vielleicht:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Ich dachte, das tr
könnte die Fähigkeit dazu haben, aber ich bin mir nicht sicher.
Verwenden Sie cut
. Z.B. um die ersten 4 Zeichen jeder Zeile zu entfernen (dh mit dem 5. Zeichen zu beginnen):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
, um dieses Problem zu lösen.und Sie ersetzen 5 durch die gewünschte Zahl ... es sollte den Trick machen ...
BEARBEITEN, wenn für jede Zeile
sed 's/^.\{5\}//g' logfile
quelle
Sie können verwenden
cut
:-c:
Zeichenfile.txt:
Eingabedateinew_file.txt:
AusgabedateiN-:
Zeichen von N bis Ende werden ausgeschnitten und in die neue Datei ausgegeben.Kann auch andere Argumente haben wie: 'N', 'N-M', '-M', was das n-te Zeichen, das n-te bis m-te Zeichen bzw. das erste bis m-te Zeichen bedeutet.
Dadurch wird die Operation für jede Zeile der Eingabedatei ausgeführt.
quelle
würde die ersten 900 Zeichen entfernen
cut
verwendet 900-, um das 900. Zeichen bis zum Ende der Zeile anzuzeigenWenn ich das alles durch grep leite, bekomme ich nichts
quelle
Ich denke, dies
awk
wäre das beste Werkzeug, da es die erforderlichen Zeichenfolgenmanipulationsfunktionen für gefilterte Zeilen sowohl filtern als auch ausführen kann:oder
quelle
Hier ist eine einfache Funktion, die in Bash getestet wurde. Der erste Parameter der Funktion ist die Zeichenfolge, der zweite Parameter ist die Anzahl der zu entfernenden Zeichen
function stringStripNCharsFromStart { echo ${1:$2:${#1}} }
Verwendung:
quelle