Suppresion de caractères en début de lignes

Fermé
pamps - 3 mai 2010 à 07:58
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 3 mai 2010 à 11:38
Bonjour à tous,

J'aimerais supprimer les 5 premiers caractères de chaque ligne de mon fichier.
J'ai l'impression que la commande sed peut résoudre mon problème mais ne sais pas trop l'utiliser.
Merci à vous de m'indiquer comment faire.
A voir également:

3 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
3 mai 2010 à 09:02
hello
sed 's/^.\{5\}//' fichier
1
Merci de votre re-activité. Je profite pour poser une question supplémentaire :
Comment ferais-je pour supprimer les caractères de la postiion 2 à la position 5 de chaque ligne ???
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
3 mai 2010 à 09:20
$ cat a1
1234567890
1234567890
1234567890
1234567890
$ sed 's/^\(.\).\{4\}/\1/' a1
167890
167890
167890
167890
0
merci beaucoup
0
sed 's/^.\{5\}//' fichier
Comment puis-je paramétrer la valeur 5 de sorte que cette valeur soit reçu en paramètre de mon script et interprété correctement à l'execution ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
3 mai 2010 à 11:11
En supposant que la valeur est le 1er paramètre...

sed 's/^.\{'"$1"'\}//' fichier 

ou

sed "s/^.\{$1\}//" fichier 
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
3 mai 2010 à 09:04
Salut,

jp@MDK:~/tmpfs ssh$ cat pamps
Bonjour à tous,

J'aimerais supprimer les 5 premiers caractères de chaque ligne de mon fichier.
J'ai l'impression que la commande sed peut résoudre mon problème mais ne sais pas trop l'utiliser.
Merci à vous de m'indiquer comment faire.

jp@MDK:~/tmpfs ssh$ sed -i.bak 's/^.\{5\}//' pamps

jp@MDK:~/tmpfs ssh$ cat pamps
ur à tous,

erais supprimer les 5 premiers caractères de chaque ligne de mon fichier.
l'impression que la commande sed peut résoudre mon problème mais ne sais pas trop l'utiliser.
 à vous de m'indiquer comment faire.

jp@MDK:~/tmpfs ssh$

;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 mai 2010 à 11:11
Salut,

Par exemple,

~ $ cat plop
0123456789
0123456789
0123456789
0123456789
0123456789
~ $ n=5
~ $ sed "s/^.\{$n\}//" plop
56789
56789
56789
56789
56789


0