Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

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

nombre réponses : 25

#0 Re : -1 »  ☑ [awk] Action différente sur la 1ère ligne et lister tout les champs? » Le 27/07/2016, à 06:30

pingouinux
Réponses : 4

Bonjour,
Réponse à la question 2 du #1 :

awk -F\; 'NR>1{printf("CODE;");for(i=3;i<=NF;++i)printf("%s;",$i);printf("\n")}' foo

Pour ce qui est du #3, je n'ai rien compris…

#1 Re : -1 »  Tableau en bash » Le 27/07/2016, à 18:18

pingouinux
Réponses : 11

Bonjour,

for elem in "${LIST[@]}"
do
   [[ $var = $elem ]] && { echo "$var fait partie de la liste"; break; }
done

Et aussi, var est différent de VAR.

#2 Re : -1 »  Tableau en bash » Le 27/07/2016, à 19:12

pingouinux
Réponses : 11

@Hizoka #4 : Ça marche aussi mais tu peux simplifier

grep -qw "${VAR}" <<< "${LIST[@]}" && echo "${VAR} fait partie de la liste"

#3 Re : -1 »  Tableau en bash » Le 27/07/2016, à 19:31

pingouinux
Réponses : 11
LIST=( {01..12} )

#4 Re : -1 »  Python programe qui reste un seconde » Le 26/07/2016, à 07:14

pingouinux
Réponses : 1

Bonjour,
Ta demande n'est pas très claire. Essaie de faire des phrases correctes et d'utiliser des ponctuations.

Cette commande

time.sleep(9999)

suspend l'exécution de ton programme pendant 9999 secondes.

#5 Re : -1 »  [Shell / Batch] Creer une chaîne de N "espaces" » Le 25/07/2016, à 17:30

pingouinux
Réponses : 7

Bonjour,
Pas mal ta méthode, mais tu obtiens une espace de moins. Il faut faire ceci :

seq -s " " $((++N))|tr -d '[:digit:]'

Autre méthode :

while ((N-->0));do printf " ";done

#6 Re : -1 »  [Shell / Batch] Creer une chaîne de N "espaces" » Le 25/07/2016, à 20:03

pingouinux
Réponses : 7

@erresse #5 : C'est parce que tu n'as pas bien lu l'énoncé smile

#7 Re : -1 »  [Shell / Batch] Creer une chaîne de N "espaces" » Le 25/07/2016, à 20:35

pingouinux
Réponses : 7
erresse a écrit :

Cela étant, je trouve que la soluce de Watael est super-séduisante : simple et clair !

C'est aussi celle que je préfère.

#8 Re : -1 »  modifier une imag en gardant les date » Le 24/07/2016, à 18:58

pingouinux
Réponses : 5

Bonjour,
touch va juste modifier la date du fichier, mais pas les informations relatives à l'image. Regarde du côté de exif.

#9 Re : -1 »  modifier une imag en gardant les date » Le 24/07/2016, à 20:44

pingouinux
Réponses : 5

Et ce que tu as fait ne marche pas ?

Remarque :
Si les noms de fichiers contiennent des espaces, il faut faire ceci :

while read file
do
   ......................................
done <outtt.txt

#10 Re : -1 »  trouver des fichier dans le terminal » Le 23/07/2016, à 20:04

pingouinux
Réponses : 2

Bonsoir,
Essaye déjà

cd ~/Desktop/Téléchargements/

Ajouté :
Puis

ls -l Ampps*

Édité :
Il y a des chances que ce soit

cd ~/Desktop/Downloads/

ou

cd ~/Bureau/Téléchargements/

#11 Re : -1 »  ☑ [grep] Expressions régulières sur le nom de fichiers » Le 22/07/2016, à 12:50

pingouinux
Réponses : 7

Bonjour,
La méthode de Anonyme68 #7 me semble parfaite, mais juste pour info :

Swiss_Knight #4 a écrit :

avec la boucle for, ça va me l'effacer à chaque itération.

Tu aurais pu faire

for a in Sous-Dossier???_???/*.txt;
do
  grep -inrv "chaine_de-carateres" "${WORKINGDIR}${a}";
done >"${WORKINGDIR}${FILE}"

Cela marcherait aussi s'il y avait dans la boucle plusieurs commandes dont tu voulais regrouper les sorties dans le même fichier.
Les " " que j'ai ajoutés ne sont utiles que si les noms de fichiers contiennent des espaces ou autres caractères bizarres.

#12 Re : -1 »  [Shell/Batch] Récupérer le dernier "bloc" de chaque ligne d'un fichier » Le 21/07/2016, à 14:13

pingouinux
Réponses : 4

Bonjour,

$ awk -F";" -v ORS=" " 'NR>1 && NF{ print $NF }END{printf "\n"}' fichier.csv
45 13 8

Ajouté :
Et pour mettre le résultat dans une variable

$ concat=$(awk -F";" -v ORS=" " 'NR>1 && NF{ print $NF }' fichier.csv)

$ echo "$concat"
45 13 8

#13 Re : -1 »  [Shell/Batch] Récupérer le dernier "bloc" de chaque ligne d'un fichier » Le 21/07/2016, à 16:54

pingouinux
Réponses : 4

Un peu plus simple que #2

concat=$(awk -F";" 'NR>1 && NF{ printf("%s ",$NF) }' fichier.csv)

#14 Re : -1 »  Find et exclude list » Le 19/07/2016, à 17:14

pingouinux
Réponses : 6

Bonjour,
Tu peux essayer ceci, mais tu exécutes quand même un grep pour chaque fichier trouvé par find :

                find ./ \( -iname \*.jpg -o -iname \*.jpeg -o -iname \*.png \) -type f | sort -r |  while read image
                do
                        file="/home/gotcha5832/script/exclude.txt"

                        if ! grep -q "$image" "$file"
                        then
                                […]
                                TraitementImage $resultat "$image"
                        fi
                done

Ajouté :
Si tu testes que $image est une ligne complète de $file, remplace le grep par

                        if ! grep -q "^$image$" "$file"

Ajouté (2) :
Tu peux regarder aussi la commande comm :

comm -23 fichier_trié_1 fichier_trié_2

va lister les lignes du premier fichier qui ne sont pas dans le second.

Ou bien

comm -23 <(sort fichier1) <(sort fichier2)

#15 Re : -1 »  awk (ou autre) séparer des variables dans des tableaux (ou fichiers) » Le 18/07/2016, à 07:25

pingouinux
Réponses : 10

Bonjour,
Ce que tu demandes n'est pas très clair (du moins pour moi).
Ceci ?

$ awk -v ORS="" '{if(NR!=1&&$1!=i)print"\n";printf(" %s",$3);i=$1}END{print"\n"}' foo.txt
 48.3057 64.9701 67.9294 83.1264
 37.2101 60.3024 95.2348 125.873
 46.5343 123.466 183.334 281.140
 48.2704 145.421 254.873 352.355
 37.8022 123.476 263.165 351.715
 55.8306 145.004 250.124 331.153
 67.9651 146.478 229.444 306.139
 61.7691 135.804 209.772 280.850
 54.9907 124.678 191.754 257.529
 48.6915 114.220 175.919 236.672
Swiss_Knight #1 a écrit :

(et parfois awk me colle toutes les variables : grep "des trucs" | awk -F " " '{ print $1 $2 $3 }' -> tout est collé en sortie !

awk '/des trucs/{print $1" "$2" "$3}' fichier

Ah, et bonus, dans les variables awk, par exemple la $1 on ne peut pas faire de substitution "en direct" (je ne sais pas comment s'appelle cette subtilité) du genre ${1/,/} comme on le ferait avec une variable bash standard, pourquoi ?

sub(",","",$1)

#16 Re : -1 »  [Résolu] Message persistant sur Thunderbird. » Le 19/07/2016, à 09:56

pingouinux
Réponses : 7

Bonjour,
L'opération consiste à supprimer réellement les messages que tu as mis à la poubelle.

#17 Re : -1 »  [Résolu] Message persistant sur Thunderbird. » Le 19/07/2016, à 12:02

pingouinux
Réponses : 7

Quand tu supprimes un message, il apparaît dans la poubelle, mais il est toujours présent dans les gros fichiers qui contiennent tous tes messages (envoyés ou reçus). C'est juste le champ X-Mozilla-Status: qui indique qu'il a été supprimé.

#18 Re : -1 »  [RESOLUT] find et souci d'espace dans les nom de dossier » Le 19/07/2016, à 08:44

pingouinux
Réponses : 8

Bonjour,
Essaye

while read image
do
   echo "$image"
done < <(find  . -iname '*.[jp][pn][g]')

Ajouté :
Autre solution équivalente

shopt -s globstar dotglob nocaseglob
for image in **/*.{jpg,png}
   do echo "$image"
done

Voir help shopt

#19 Re : -1 »  [RESOLUT] find et souci d'espace dans les nom de dossier » Le 19/07/2016, à 09:08

pingouinux
Réponses : 8
gotcha5832 #4 a écrit :

il y a une différence entre la syntaxe de pingouinux et la mienne?

Le résultat est le même, mais je ne sais pas si l'une est plus efficace que l'autre.

#20 Re : -1 »  Mauvaise manipulation du CHMOD » Le 17/07/2016, à 22:33

pingouinux
Réponses : 4

Bonsoir,
À mon avis, tu es bon pour faire une réinstallation.

Ajouté : Essaye de sauvegarder tes fichiers personnels auparavant

#21 Re : -1 »  grep -n zeros supplémentaires sur le numéro de ligne ? » Le 17/07/2016, à 20:35

pingouinux
Réponses : 14
Swiss_Knight #10 a écrit :

J'ai aussi trouvé un truc sympa avec sed : -w <- ça rajoute des zéros comme il faut aussi.

Peux-tu montrer un exemple d'utilisation ? L'option -w n'apparaît pas dans le man de ma version de sed (sed (GNU sed) 4.2.2).

#22 Re : -1 »  Redirection stderr et tee » Le 17/07/2016, à 14:37

pingouinux
Réponses : 4

Bonjour,
Ce que tu as fait me semble correct.

$ ls yapas 2>&1 | tee -a log
ls: cannot access yapas: No such file or directory

$ cat log
ls: cannot access yapas: No such file or directory

#23 Re : -1 »  Redirection stderr et tee » Le 17/07/2016, à 15:29

pingouinux
Réponses : 4

Il faut que tu montres un de ces cas (copier-coller de la commande et de la réponse).

#24 Re : -1 »  Faire un calcul "dans" une expression sed -r sur un fichier » Le 17/07/2016, à 14:24

pingouinux
Réponses : 5

Si z et t sont des entiers :

$ sed  -r 's#^([0-9]{2})_([0-9]{2}):Poids (.*):(.*)$#\1/10_\2/10:Poids \3.0000:\4.0000#' <<<"12_34:Poids 5:7"
12/10_34/10:Poids 5.0000:7.0000