Ce qui est une commande unix pour supprimer les N premiers caractères d'une ligne?
Par exemple, je pourrais avoir besoin de:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Je pensais que tr
pourrait avoir la capacité de le faire, mais je ne suis pas sûr.
Vous devez vous connecter pour publier un commentaire.
Utilisation
cut
. Par exemple. pour dépouiller les 4 premiers caractères de chaque ligne (par ex. sur la 5ème char):tail -f logfile |cut -c 5-|grep org.springframework
?grep --line-buffered "org.springframework
de résoudre ce problème.et vous remplacer 5 par le nombre que vous voulez...ça devrait faire l'affaire...
MODIFIER
si, pour chaque ligne
sed 's/^.\{5\}//g' logfile
Vous pouvez utiliser
cut
:-c:
caractèresfile.txt:
fichier d'entréenew_file.txt:
fichier de sortieN-:
Caractères de N à la fin de la couper et de sortie pour le nouveau fichier.Peuvent aussi avoir d'autres arguments comme: "N", "N-M", " M "dans le sens" nième caractère, nth à mth personnage, d'abord au mois de caractère, respectivement.
Cela permettra d'effectuer l'opération pour chaque ligne du fichier d'entrée.
serait de supprimer la première 900 caractères
cut
utilise 900 - pour montrer le 900ème caractère à la fin de la lignecependant lorsque je l'ai pipe tout cela grâce à grep je ne suis pas d'obtenir quoi que ce soit
Je pense que
awk
serait le meilleur outil pour ce qu'il peut à la fois filtre et effectuer les fonctions de manipulation de chaîne sur les lignes filtrées:ou
Ici est simple fonction, testé en bash. 1er paramètre de la fonction est une chaîne, 2ème paramètre est le nombre de caractères à être dépouillé
function stringStripNCharsFromStart {
echo ${1:$2:${#1}}
}
Utilisation: