Alors voila, typiquement le script suivant
#!/bin/bash
for fich in $(ls)
do
echo "--$fich--"
done
me donne un résultat pas terrible si il y a un fichier nommé comme ça :
Fichier avec espace
qui me renvoit alors
--Fichier--
--avec--
-espace--
comment faire pour obtenir
--Fichier avec espace
j'ai bien la possibilité de reconstituer la chaîne grâce à la recherche de ^ et de $ mais ça ralonge le scripte de manière non négligeable et ça le rend moins lisible.
J'en appel donc à votre savoir : Il y a t il une manière simple de faire cela?
# s/\$\(ls\)/\*/
Posté par Antonio Da Silva (site web personnel) . Évalué à 3.
#!/bin/bash
for fich in *
do
echo "--$fich--"
done
Chez moi marche avec les fichiers avec espace
[^] # Re: s/\$\(ls\)/\*/
Posté par Nico . Évalué à 2.
#!/bin/bash
ls | while read fich
do
echo "--$fich--"
done
fonctionne également et est plus proche de ce que tu souhaitais faire.
[^] # Re: s/\$\(ls\)/\*/
Posté par Calim' Héros (site web personnel) . Évalué à 2.
[^] # Re: s/\$\(ls\)/\*/
Posté par Calim' Héros (site web personnel) . Évalué à 3.
[^] # Re: s/\$\(ls\)/\*/
Posté par Damien Pobel (site web personnel) . Évalué à 2.
IFS=`echo ""`
qui évite d'avoir un retour à la ligne bizarre.
https://damien.pobel.fr
[^] # Re: s/\$\(ls\)/\*/
Posté par Calim' Héros (site web personnel) . Évalué à 3.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.