Changer de place une ligne dans un fichier
viellepe
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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 ...
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 ...
Configuration: Windows XP Firefox 3.5.6
4 réponses
-
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 $
-
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$
;-))
-
-
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