Sed et delete qui ne fonctionne pas

Deeper -  
 Deeper -
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   Statut Modérateur Dernière intervention   4 896
 
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
Deeper
 
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