Réponses:
Utilisez cut
. Par exemple. pour supprimer les 4 premiers caractères de chaque ligne (c'est-à-dire commencer au 5ème caractère):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
pour résoudre ce problème.
Vous pouvez utiliser cut
:
cut -c N- file.txt > new_file.txt
-c:
personnages
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 sortis dans le nouveau fichier.
Peut également avoir d'autres arguments comme: «N», «N-M», «-M» signifiant respectivement le nième caractère, le nième au mième caractère, le premier au mième caractère.
Cela 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 à la fin de la ligne
mais quand je passe tout cela à travers grep, je ne reçois rien
Je pense que ce awk
serait le meilleur outil pour cela car il peut à la fois filtrer et exécuter les fonctions de manipulation de chaînes 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)'
Voici une fonction simple, testée en bash. Le premier paramètre de la fonction est une chaîne, le deuxième paramètre est le nombre de caractères à supprimer
function stringStripNCharsFromStart {
echo ${1:$2:${#1}}
}