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 »  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"*

#1 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.

#2 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

#3 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...

#4 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

#5 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' :\

#6 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)

#7 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) ?

#8 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".

#9 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

#10 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à !

#11 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.

#12 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

#13 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.

#14 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

#15 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

#16 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.

#18 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.

#19 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.

#20 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.

#21 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.

#22 Re : -1 »  [resolu] Retirer balises doublons dans fichiers xml » Le 26/05/2014, à 02:01

Watael
Réponses : 6

salut,

avec awk, si la ligne contient <genre>, tu vérifies qu'elle est est dans un tableau T : si elle est dans le tableau, tu n'affiches pas la ligne, si elle n'y est pas tu affiches la ligne, et tu alimentes le tableau avec la ligne.

à peu près.

#23 Re : -1 »  [RESOLU] Éviter une boucle "while" et "cut" » Le 26/05/2014, à 13:28

Watael
Réponses : 6

salut

moins élégant, mais plus rapide :

sed 's/\([^ ]* [^ ]*\) /\1\n/g' fichier 
aa ab
ac ad
ae af

#24 Re : -1 »  utilisation de la commande "expr" » Le 22/05/2014, à 22:53

Watael
Réponses : 1

salut,

cette commande externe n'a aucun intérêt dans un interpréteur conforme à la norme POSIX (les interpréteurs de commandes Bourne, et Korn), car il savent effectuer des évaluations arithmétiques sur des nombres entiers (integers).

m=$((a/b))

si $a et/ou $b est un nombre décimal, il faut utiliser une calculatrice, telle que bc:

m=$(echo "$a / $b" | bc -l)