Soustraire certaines parties d'un fichier

Résolu
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais retravailler un fichier en enlevant certaines lignes et certains caractères.
Voici comment se présente actuellement mon fichier "toto.txt" :

cat toto.txt
K1958219
K1958235
K1958236
K1969986
K1969986.text
K1969998
K1969999
K1970000
K1970001
K1970034
K1970034.text
K1970039
K1970058
K1970058.text
K1970059
K1970060
K1970061
K1970062
K1970083


Et voici le résultat attendu :

1958219
1958235
1958236
1969986
1969998
1969999
1970000
1970001
1970034
1970039
1970058
1970059
1970060
1970061
1970062
1970083


Quelle commande puis-je appliquer sur le fichier "toto.txt" pour ne plus avoir de "K" en début de ligne et en même temps supprimer les lignes qui ont une extension ".text" ?

Merci d'avance pour votre aide !
Ka-El
A voir également:

3 réponses

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Bonjour,

Tu peux filtrer des lignes avec
grep
, et procéder à des remplacements avec
sed
:

grep -v "\.text\s*$" toto.txt | sed -e 's/K\(.*\)/\1/'
1958219
1958235
1958236
1969986
1969998
1969999
1970000
1970001
1970034
1970039
1970058
1970059
1970060
1970061
1970062
1970083


Pour plus d'explications :
- man sed
- man grep
- tubes

Bonne chance
0
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention  
 
C'est parfait ! :-)

Merci beaucoup pour votre aide.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ sed 's/^K//; /\.text$/d' toto.txt
1958219
1958235
1958236
1969986
1969998
1969999
1970000
1970001
1970034
1970039
1970058
1970059
1970060
1970061
1970062
1970083
0
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Dubcek,
ça marche aussi.
Merci beaucoup ! :-)
0
UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   158
 
Salut,

Ou tout simplement :
sed -n '/text$/!{s/^K//p}' fich
;-)

0