Par exemple, je pourrais vouloir:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Je pensais que tr
pourrait peut-être le faire, mais je ne suis pas sûr.
Utilisez cut
. Par exemple. pour effacer les 4 premiers caractères de chaque ligne (c'est-à-dire commencer par le 5e caractère):
tail -f logfile | grep org.springframework | cut -c 5-
sed 's/^.\{5\}//' logfile
et vous remplacez 5 par le nombre que vous voulez ... ça devrait faire l'affaire ...
EDIT si pour chaque ligne sed 's/^.\{5\}//g' logfile
Vous pouvez utiliser cut
:
cut -c N- file.txt > new_file.txt
-c:
caractères
file.txt:
fichier d'entrée
new_file.txt:
fichier de sortie
N-:
Les caractères de N à la fin doivent être coupés et exportés dans le nouveau fichier.
Peut également avoir d'autres arguments tels que: 'N', 'N-M', '-M' signifiant nième caractère, nième à douzième caractère, premier à mème caractère respectivement.
Ceci effectuera l'opération sur chaque ligne du fichier d'entrée.
tail -f logfile | grep org.springframework | cut -c 900-
supprimerait les 900 premiers caractères
cut
utilise 900- pour afficher le 900ème caractère jusqu'à la fin de la ligne
mais quand je conduis tout cela par grep je ne reçois rien
Je pense que awk
serait le meilleur outil pour cela car il peut à la fois filtrer et exécuter les fonctions de manipulation de chaîne nécessaires sur les lignes filtrées:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
ou
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'