Sed et delete qui ne fonctionne pas

Fermé
Deeper - 11 oct. 2010 à 11:54
 Deeper - 11 oct. 2010 à 12:06
Bonjour,

Dans un script sh, j'ai la ligne de commande suivante :
echo "sed '${N}d' $i > fichier.tmp && mv fichier.tmp $i"

N est un numéro de ligne
i est un nom de fichier.

Je souhaite simplement supprimer une ligne.
Lorsque j'exécute le script, tout a l'air de fonctionner, mais aucune ligne n'est effacée de mes fichiers $i.

Ce que je cherche à faire c'est un fichier d'échantillon. je veux prendre 10 lignes au hasard dans le fichier les mettre dans un fichier d'échantillon et les supprimer.
Tout le reste est ok, il n'y a que cette phase ou je supprime les lignes choisies qui déconne.

Quelqu'un pourait il me dire ce qui cloche dans mon script ?
Merci d'avance

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
11 oct. 2010 à 12:02
Salut,

Déjà si c'est réellement cette ligne qui se trouve dans ton script, à part afficher la commande via le "echo" c'est clair qu'elle ne fait pas autre chose ;-((

Ensuite quand tu auras viré le "echo", il te faudra mettre des doubles quotes autour de l'expression si tu veux que ta variable soit interprétée ;-))

sed "${N}d" $i > fichier.tmp && mv fichier.tmp $i
0
Merci encore Jipicy.
Je ne sais pas ce que je ferais sans toi....

Difficile de te payer un apéro via le net, mais l'intention y est ;-)
0