Sed - mettre plusieurs collonnes en une seule ligne

Voila un bout de code incomplet:

mount | grep sshfs > tmp2 sed 's/.*\(\/home\/[a-z]*\/fuse[^ ].*\) type.*/\1/g' tmp2 > tmp3 DOSSIER=$(ans=$(zenity --list --text "Choisir le dossier à démonter" --radiolist --column "Choix" --column "Dossier" ### c'est là ###) ; echo $DOSSIER

Le fichier tmp3 contient les chemins absolus (un par collonne) vers les points ou sont montés des systèmes de fichiers grâce à sshfs.

Imaginons que j’ai ça dans le fichier tmp3:

[quote]
chemin1
chemin2
chemin3[/quote]
Idéalement Je veux mettre le contenu de ce fichier ainsi:

Mettre les FALSE en début de ligne je sais faire (tous les chemins commencent par /home):

En revanche je ne parviends pas à tout mettre sur une seule ligne et plus dur; à faire en sorte que cette ligne soit passée comme chaine de caractère dans la ligne des options de la commande zenity (là ou j’ai écrit ### c’est là ### dans le bout de code imcomplet du début du poste)…

Voila, j’espère que j’ai été clair.

pour reformatter tmp3:

pour tout chainer, donc:

et si tu veux passer à la ligne aprés:

C’est réglé; c’est pas beau mais ça marche:

[code]mount | grep sshfs > tmp2
sed ‘s/.(/home/[a-z]/fuse[^ ].) type./\1/g’ tmp2 > tmp3
sed ‘s/^(/home)/FALSE \1/g’ tmp3 > tmp4

#construction de LISTE

N0=cat tmp4 | wc -l
while [ “$N0” -ne 0 ]
do
LISTE=head -n 1 tmp4" "echo $LISTE
N0=expr $N0 - 1
sed ‘1d’ tmp4 > tmp5
rm -f tmp4
mv tmp5 tmp4
done
[/code]

Pardon mattotop j’étais en train d’éditer depuis un bout de temps donc j’ai pas réalisé que tu m’avais répondu.
Je ne connais pas awk; je vais jeter un coup d’oeil vu que avec sed c’est un peu galère (il y a surement moyen d’éviter une boucle while ou for mais bon…) Encore un langage auquel il faut jeter un coup d’oeil quoi!

Merci en tout cas! C’est sympa!

Merci, je ne connaissais pas -v ORS=" ". La man page m’a aidé à comprendre :p!

commence par faire

cat /proc/mounts

plutot…

Et si tu veux faire du awk, du sed, et plus si affinité: perl.
Practical Extraction and Report Language=Langage Pratique d’Extraction et de Rapport
pas mieux pour traiter un flux.

Merci pour vos conseils avisés.

Pour ce qui est de cat /proc/mount la différence n’est pas trés violente avec mount, en tout cas pour l’usage que je veux en faire. En tout cas merci du conseil.

14:32 bob@blip ~% cat /proc/mounts | grep encfs encfs /home/bob/fuse/encfs fuse rw,nosuid,nodev,user_id=1000,group_id=1000,default_permissions 0 0 14:32 bob@blip ~% mount | grep encfs encfs on /home/bob/fuse/encfs type fuse (rw,nosuid,nodev,default_permissions,user=bob)

Le programme:

  • finir ce que je suis en train de faire en bash
  • voir awk de plus prés
  • refaire le tout en perl en “apprenant perl”

Merci.

quote="ziouplaboum"
Pour ce qui est de cat /proc/mount la différence n’est pas trés violente avec mount, en tout cas pour l’usage que je veux en faire. En tout cas merci du conseil.
(…)[/quote]lire un fichier est infiniment plus rapide et moins gourmand en ressource que lancer une commande qui va faire au final la même chose plus une mise en forme.
Si tu répètes régulièrement ta commande, ça va jouer.

Ok - Je n’avais pas du tout ce genre de problématique en tête en écrivant le script. Merci de l’astuce et de l’xplication.