Changer de place une ligne dans un fichier

viellepe -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je cherche à trier d'une façon particulière un fichier.
Je prend un exemple pour être plus clair, je suppose le fichier suivant:

fichier.txt :
toto 12
tata 11
tutu 58
titi 49

j'aimerais une commande bash qui me permette de placer la ligne commençant par tutu en position 1 dans mon fichier. merci de votre aide, je suppose qu'avec la commande sed c'est jouable mais je ne vois pas comment ...
A voir également:

4 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
possible aussi avec ed
$ cat a1
toto 12
tata 11
tutu 58
titi 49 
$ echo -e '/tutu/m0\nwq\n' | ed -s a1
$ cat a1
tutu 58
toto 12
tata 11
titi 49 
$ 
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Possible et plus simple, merci ;-))
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
en ces temps de congrès de sauvetage de la biodiversité, sauvons les très très vieilles commandes.
ca permet d'inverser un fichier, avant l'invention de la commande rev. fonctionne aussi dans vi.
$ cat a1
1
2
3
4
5
6
$ echo -e 'g/^/m0\nwq\n' | ed -s a1
$ cat a1
6
5
4
3
2
1
$ 
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention  
 
Et tac est pas mal aussi dans son genre, et toc ;-))
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
juste, je me suis xuaecnip sel égnalém
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention  
 
evarg ôp tse'c ,sap stniep en ut euq tnaT

;-))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

jp@MDK:~/tmpfs ssh$ cat plop
toto 12
tata 11
tutu 58
titi 49

jp@MDK:~/tmpfs ssh$ sed ':z;/^tutu/! {1!H;1h;d;bz};G;:y;n;$!by' plop
tutu 58
toto 12
tata 11
titi 49

jp@MDK:~/tmpfs ssh$

;-))
0
viellepe
 
merci à tous pour votre rapidité et vos compétences :-)
0
lami20j
 
Salut,

Pour s'amuser seulement et dans l'esprit qu'il y a plusieurs solutions possibles.

lami20j@debian:~$ cat plop
toto 12
tata 11
tutu 58
titi 49
lami20j@debian:~$ a=$(grep tutu plop;grep -v tutu plop);echo "$a">plop
lami20j@debian:~$ cat plop
tutu 58
toto 12
tata 11
titi 49
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Juste pour t'amuser, tu pourrais te réinscrire, non ? ;-))

Bien vu pour le grep ;-)
0