Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/12/2013, à 15:38

sergeG75018

saut de ligne dans le nom de fichier creé par un script

bonjour.
Je crais un petit script nautilus qui me permet de modifier un fichier texte et qui est enregistré dans un nouveau fichier texte  qui reprend le nom du premier fichier auquel j'ajoute une extension.
jusque là ça va.

fichier=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
cat $fichier | sed '/^$/d'| sed 's/.*/\L&/' | sort | sed '$!N; /^\(.*\)\n\1$/!P; D' > "$fichier.txt"

Le problème est que le fichier de sortie comporte un saut de ligne.
Et là je ne sais pas du tout quoi faire pour l'éviter.
Une petite idée, piste serais la bien venue.
merci d'avance


Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#2 Le 25/12/2013, à 17:34

pingouinux

Re : saut de ligne dans le nom de fichier creé par un script

Bonjour,
Peux-tu donner un exemple de ce que tu veux ? Est-ce le nom du fichier qui contient un saut de ligne, ou son contenu ?

Hors ligne

#3 Le 25/12/2013, à 17:58

sergeG75018

Re : saut de ligne dans le nom de fichier creé par un script

bonjour
C'est le nom du fichier qui contient un saut de ligne (quand tu appuis sur "entrée" dans un éditeur de texte.
merci


Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#4 Le 25/12/2013, à 18:08

pingouinux

Re : saut de ligne dans le nom de fichier creé par un script

Pour simplement copier le fichier

cp "$fichier" "$fichier.ext"

Pour y appliquer un traitement

cat "$fichier" | ..... >"$fichier.ext"

Hors ligne

#5 Le 25/12/2013, à 18:27

sergeG75018

Re : saut de ligne dans le nom de fichier creé par un script

le cp ne fonctionne pas le saut de ligne apparait dans le terminal

serge@serge-Latitude-D610:~/Documents/scripts/sed$ fichier=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
serge@serge-Latitude-D610:~/Documents/scripts/sed$ cp "$fichier" "$fichier.tex"
cp: impossible d'évaluer «/home/serge/Documents/scripts/sed/test\n»: Aucun fichier ou dossier de ce type

Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#6 Le 25/12/2013, à 18:33

pingouinux

Re : saut de ligne dans le nom de fichier creé par un script

Il faut commencer par

fichier="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"

Hors ligne

#7 Le 25/12/2013, à 18:38

sergeG75018

Re : saut de ligne dans le nom de fichier creé par un script

J'ai déja testé les double cote, et le résultat est le même

serge@serge-Latitude-D610:~/Documents/scripts/sed$ fichier="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
serge@serge-Latitude-D610:~/Documents/scripts/sed$ 
serge@serge-Latitude-D610:~/Documents/scripts/sed$ cp "$fichier" "$fichier.tex"
cp: impossible d'évaluer «/home/serge/Documents/scripts/sed/test\n»: Aucun fichier ou dossier de ce type

Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#8 Le 25/12/2013, à 18:40

sergeG75018

Re : saut de ligne dans le nom de fichier creé par un script

alors que si je fait un echo le résultat est bon

serge@serge-Latitude-D610:~/Documents/scripts/sed$ echo $fichier
/home/serge/Documents/scripts/sed/test

Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#9 Le 25/12/2013, à 19:10

pingouinux

Re : saut de ligne dans le nom de fichier creé par un script

Ce n'est pas le nom du fichier qui contient un '\n', mais le nom du fichier est suivi d'un '\n' dans NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
Essaye

fichier=$(awk '{print}' <<<"$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")

Hors ligne

#10 Le 25/12/2013, à 19:27

sergeG75018

Re : saut de ligne dans le nom de fichier creé par un script

alors là...
bravo
j'avais plus ou moins compris que bash travaillait ligne part ligne et créait donc une ligne \n a chaque sortie courante mais je n'avais pas la moindre idée de comment faire.

je regarderais ça de plus près dès que j'ai le temps.

mille mercis


Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#11 Le 25/12/2013, à 19:31

pingouinux

Re : saut de ligne dans le nom de fichier creé par un script

D'ailleurs, cela suffit

fichier=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")

Hors ligne