Sed et expression réguliere encore
Fermé
gLoria
-
2 juil. 2010 à 15:26
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 6 juil. 2010 à 21:35
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 6 juil. 2010 à 21:35
A voir également:
- Sed et expression réguliere encore
- Expression de recherche - Guide
- Expected expression ✓ - Forum C
- Avoir du ping expression - Forum Réseau
- Quel fichier contient l’expression trouverpix ? - Forum Programmation
- Sed supprimer ligne - Astuces et Solutions
2 réponses
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
2 juil. 2010 à 15:50
2 juil. 2010 à 15:50
Salut,
Pour ce qui est de supprimer le "#" et éventuellement la ligne vide qui suit, ceci devrait faire l'affaire :
Après pour ce qui est du reste, il te faudra passer par du bash combiné à du sed et/ou d'autres outils...
Pour ce qui est de supprimer le "#" et éventuellement la ligne vide qui suit, ceci devrait faire l'affaire :
sed '/^#/{N;/^#\n$/d;D}'
Après pour ce qui est du reste, il te faudra passer par du bash combiné à du sed et/ou d'autres outils...
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
6 juil. 2010 à 21:35
6 juil. 2010 à 21:35
Salut,
Comme ça?!
Comme ça?!
~$ cat fichier.txt # blabla (bla). - blablabla. blabla-blabla. blablablabalbalbalba blablablablablabal ~$ perl -pi.orig -e 's/.*\n// if $.==1&&/^#/ or $.==2&&/^$/;/^\s*(\w.*\))/;$h{$1}++ if $1;s/^.*-\s+//;END{rename($ARGV,keys %h)}' fichier.txt ~$ cat fichier.txt cat: fichier.txt: Aucun fichier ou dossier de ce type ~$ cat blabla\ \(bla\) blablabla. blabla-blabla. blablablabalbalbalba blablablablablabal ~$ cat fichier.txt.orig # blabla (bla). - blablabla. blabla-blabla. blablablabalbalbalba blablablablablabal lami20j@debian-acer:~$ lami20j@debian-acer:~$ ~$ cat fichier2.txt # 2blabla (bla). - 2blablabla. blabla-blabla. blablablabalbalbalba blablablablablabal ~$ perl -pi.orig -e 's/.*\n// if $.==1&&/^#/ or $.==2&&/^$/;/^\s*(\w.*\))/;$h{$1}++ if $1;s/^.*-\s+//;END{rename($ARGV,keys %h)}' fichier2.txt ~$ cat fichier2.txt cat: fichier2.txt: Aucun fichier ou dossier de ce type ~$ cat 2blabla\ \(bla\) 2blablabla. blabla-blabla. blablablabalbalbalba blablablablablabal ~$ cat fichier2.txt.orig # 2blabla (bla). - 2blablabla. blabla-blabla. blablablabalbalbalba blablablablablabal ~$
6 juil. 2010 à 14:10
Pour le reste, c'est fort délicat.
J'avais essayé avec un head puis un cut et enfin un sed, mais le résultat n'est absolument pas fiable :(
dommage