Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.
nombre réponses : 25

#0 Re : -1 »  Shell : division d'une variable dans un IF » Le 22/08/2014, à 13:57

Watael
Réponses : 6

salut,

`expr' est inutile avec un shell compatible POSIX.

for ...; do ...; done

#1 Re : -1 »  Différent Terminal » Le 18/08/2014, à 22:37

Watael
Réponses : 9

salut,

tiramiseb a écrit :

[xterm n'a] pas de menu contextuel

si, si, ils sont accessibles avec les boutons de la souris, et la touche Ctrl.

#2 Re : -1 »  lire le terminal en continue j'usquà l'apparition d'un caractère. » Le 13/08/2014, à 22:52

Watael
Réponses : 8

salut,

la boucle simule le programme d'affichage

$ n=0
$ a=(a b c d e f g h i \* j k l m )
$ while sleep 1; do test "$n" -lt ${#a[@]} && echo "${a[@]:n++:1}" || break; done | { read -d '*' bla; echo "$bla - fini! ";}

quelque temps plus tard, cela affiche ceci:

a
b
c
d
e
f
g
h
i - fini! 

#3 Re : -1 »  Améliorer mon script de découpage de CSV » Le 26/07/2014, à 07:37

Watael
Réponses : 8

salu,

je ferais bien un bête sed, plutôt qu'un lourd for:

read ligne1 < fichierOrig
sed -si '1i'"$ligne1" "$dest"*

#4 Re : -1 »  Terminal : permission non accordée .gvfs pour chown ou chmod » Le 19/07/2014, à 22:39

Watael
Réponses : 13

salut,

ls -ld ~/.gvfs
drwx------ 2 <user> <user> 4096 <mois>   <jour> <hr>:<mn> /home/<user>/.gvfs/

et c'est pareil pour tous les utilisateurs du système.

#5 Re : -1 »  Terminal : permission non accordée .gvfs pour chown ou chmod » Le 20/07/2014, à 15:18

Watael
Réponses : 13

En fait, Watael a remplacé manuellement toutes les informations données par ls -ld ~/.gvfs, tu ne peux donc pas en tirer grand-chose ...

c'est quand même cohérent, s'il y avait eu des utilisateurs différents, j'aurais remplacé par <user_x>, <user_y>, et, si cela avait été le cas, j'aurais laissé root.

Cela dit, chez moi, le dossier .gvfs est vide et je ne sais pas du tout à quoi sert ce truc !?

c'est bien la peine d'intervenir. sad

#6 Re : -1 »  Mini script bash » Le 18/07/2014, à 16:26

Watael
Réponses : 13

salut,

les variables ne sont pas développées entre accolades, parce que ces dernières sont développées avant les premières.

avec des variables, il faut encore utiliser seq sad
ou, en lourdingue, une boucle avec une incrémentation.

mais je suis d'accord avec jplemoine, dis-nous en davantage sur ton projet : ce que tu as, ce que tu veux...

#7 Re : -1 »  Mini script bash » Le 18/07/2014, à 16:39

Watael
Réponses : 13

en full bash:

read debut
read fin
for ((i=debut;i<=fin;i++)); do echo "traitement fichier #$i"; done

#8 Re : -1 »  Mini script bash » Le 19/07/2014, à 20:06

Watael
Réponses : 13

la "dernière" boucle `for' n'est évidemment pas exécutée dans le `echo' :\

#9 Re : -1 »  Completion par * [Résolu] » Le 17/07/2014, à 13:00

Watael
Réponses : 4

salut,

en bash (il faut avoir activé extglob) :

rm !(file.php)

#10 Re : -1 »  [Résolu] Générer une suite de x lettres » Le 12/07/2014, à 10:04

Watael
Réponses : 6

salut,

avec un tableau supplémentaire

#!/bin/bash
lettres=( {A..Z} )
var[1]=TOTO001A1
read -p 'Entrer un nombre : ' nb
for (( i=2; i<=nb; i++ ))
do
   var[i]="${var[1]::-2}${lettres[nb]}${var[1]: -1}
done

pourquoi ne pas commencer ton tableau avec l'indice par défaut (zéro) ?

#11 Re : -1 »  [Résolu] Script (mais pas que) pour couper le nom d'un fichier » Le 09/07/2014, à 16:52

Watael
Réponses : 29

salut,

Il doit y avoir plus simple

oui :

$ filename="66-2012-0594-6158-LA93-0M50-RVB-E100.ecw"
$ ext=${filename##*.}
$ restrict=${filename%-*-*-*-*} 
$ echo "$restrict.$ext"
66-2012-0594-6158.ecw

ça doit être encore plus simple, et beaucoup plus rapide, avec rename et ses "regex perl".

#12 Re : -1 »  [Résolu] Script (mais pas que) pour couper le nom d'un fichier » Le 09/07/2014, à 22:30

Watael
Réponses : 29

bah, non :

autant d'appel à awk que de parties à couper, c'est moins que moyen wink
ma solution 100% bash a dû passer inaperçue hmm

#13 Re : -1 »  [Résolu] Script (mais pas que) pour couper le nom d'un fichier » Le 10/07/2014, à 00:20

Watael
Réponses : 29
#!/bin/bash

ext=ecw
for f in *.$ext; do mv -i "$f" "${f%-*-*-*-*}.$ext"; done

voilà, voilà !

#14 Re : -1 »  [Résolu] Script (mais pas que) pour couper le nom d'un fichier » Le 10/07/2014, à 00:40

Watael
Réponses : 29

quel est intérêt de la variable ext ? ne peut-on pas mettre ecw en dur ?

si le script doit être ré-utilisé avec une autre extension, celle-ci n'aura à être modifiée qu'à un seul endroit.

#15 Re : -1 »  [Résolu] Script (mais pas que) pour couper le nom d'un fichier » Le 10/07/2014, à 08:27

Watael
Réponses : 29

tous mes fichiers sont appelés A-B-C-D-xxxxxxxxxxx.ecw

évidemment, si tu changes le format des noms de fichiers...

for f in *.$ext; do IFS='-' read a b c d _ <<<"$f"; echo "$a-$b-$c-$d.$ext"; done

ou

for f in *.$ext; do IFS='-' read -a b <<<"$f"; (IFS='-'; echo "${b[*]::4}.$ext"); done

#16 Re : -1 »  [Résolu] Script (mais pas que) pour couper le nom d'un fichier » Le 11/07/2014, à 14:04

Watael
Réponses : 29

on considère un champ par rapport à un séparateur, là : 66-2012-0594-6158-LA93-0M50-RVB-E100.ecw
en prenant - comme séparateur, je compte 8 champs.

et effectivement, ${paramètre%%mot} effectue un Retrait du motif correspondant au suffixe.

#17 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 21:40

Watael
Réponses : 26

salut,

ls est une des rares commandes qui "ne lit pas son entrée standard" (je ne saurais pas l'expliquer), ceci implique que le second ls ne lit aucunes données venant du premier sad
par exemple :

$ ls ./
fichier1 fichier2
$ echo $HOME | ls
fichier1 fichier2

#18 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 23:08

Watael
Réponses : 26
ls -lc fichier

ce seul fichier sera effectivement correctement trié selon sa date de modification.

sauf que... un seul fichier ne peut pas être trié. hmm
lol

#19 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 23:53

Watael
Réponses : 26

on est presque vendredi wink

moi, je ferais comme ça:

while inotifywait -e create ./; do stat -c '%Y %n' ./*  |sort -k1,1n | cut -d ' ' -f2 | tail -n1; done

ça à l'air de fonctionner.
je préfère stat, dont je maîtrise le format d'affichage, quitte à lui adjoindre un sort.

#21 Re : -1 »  problème script surveillance dernier fichier » Le 30/05/2014, à 00:40

Watael
Réponses : 26
inotifywait -m --format '%w%f : blabla si nécessaire' -e create ./ | stdbuf -oL cat - | while read line; do mail -s inotifyEvent $USER <<<"$line"; done

peut être.

#22 Re : -1 »  [RéSOLU] Xubuntu 14.04 _ Où mettre les scripts ? » Le 14/06/2014, à 18:31

Watael
Réponses : 23

salut,

Quand au dossier "/home/$USER/.local/share/nautilus/scripts/" ; il n'existe pas non plus

peut-être suffit-il de le créer pour que les scripts qui y seront copiés soient accessibles depuis nautilus.

#23 Re : -1 »  [abandon] lancer un shell à la fermeture de session » Le 15/06/2014, à 19:33

Watael
Réponses : 15

salut,

tu peux supprimer le-dit fichier @reboot, de la même manière que le système nettoie /tmp.

#24 Re : -1 »  [Résolu] bash: supprimer l'indentation de cat -n » Le 06/06/2014, à 16:23

Watael
Réponses : 7

salut,

nl -nln fichier

peut-être.