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".
nombre réponses : 25

#0 Re : -1 »  [résolu] Comment générer des séries de 40 lettres » Le 14/04/2014, à 10:41

pingouinux
Réponses : 10

Bonjour,
J'espère que tu n'es pas pressé, car le nombre de combinaisons possibles, comme l'indique claudius01, est très élevé (4**40=2**80). Même en en générant 1 milliard par seconde, il te faudra environ 38 millions d'années pour les générer toutes, et 48000 milliards de disques durs de 1To pour les stocker.

#1 Re : -1 »  [résolu] Comment générer des séries de 40 lettres » Le 14/04/2014, à 13:06

pingouinux
Réponses : 10
claudius01 #2 a écrit :
$ echo "obase=4; 123456" | bc | sed 's/0/A/g' | sed 's/1/B/g' | sed 's/2/C/g' | sed 's/3/D/g'

BDCACBAAA

Pour info, tu peux simplifier la commande

$ echo "obase=4; 123456" | bc | tr "0123" "ABCD"
BDCACBAAA

#2 Re : -1 »  Générateur » Hier à 08:35

pingouinux
Réponses : 13

Bonjour,
Si les noms de fichiers contiennent des espaces, le script ci-dessus ne fonctionnera pas correctement. Je propose plutôt ceci, qui est une petite adaptation du script de casperfr #4 :

#!/bin/bash
dossier="/home/megapunch/fastdl/garrysmod/darkrp/garrysmod"
fichier="/home/megapunch/fastdl/garrysmod/darkrp/ressources.lua"

cd "$dossier"
for i in *
do 
   [ -f "$i" ] || continue               # Pour ne traiter que les fichiers
   printf 'resource.AddFile( "%s" )\n' "$i"
done >"$fichier"

Édité : Ajout des ""

#3 Re : -1 »  Générateur » Hier à 10:29

pingouinux
Réponses : 13
Five-ZonBerg #9 a écrit :

-bash: ./addfile.sh : /bin/bash^M : mauvais interpréteur: Aucun fichier ou dossier de ce type

C'est parce que le 1ère ligne de ton fichier (et sans doute les autres aussi) se termine par '\r\n' au lieu de '\n'. Cela vient probablement de ton éditeur de texte, à moins que tu n'aies généré le fichier sous Windows.

#4 Re : -1 »  Problème de fichier corrompu odt / need you ! » Le 17/04/2014, à 17:34

pingouinux
Réponses : 13

Bonjour,

dziga #6 a écrit :

je n'ai qu'une seule ligne de texte...
Faut-il que je m’inquiète ?

En fait, le fichier que tu présentes contient 8 lignes, et leur longueur est normale. En revanche, ce fichier se termine par

<text:span text:style-name="Footnote_20_Symbol"><text:span

et est manifestement incomplet.

#5 Re : -1 »  trie de fichier » Hier à 08:01

pingouinux
Réponses : 1

Bonjour,
Il y a des choses curieuses dans ton script. L'as-tu déjà testé sur un petit fichier log ?

#!/bin/bash
fich=/home/christian/pay/access.log
if [ -f $fich ]
then
   echo "date debut : $1, date fin : $2"
   while read line; do
      remoteHost=$(echo $line | cut -d" " -f1-2 | cut -c2-20)
      time=$(date -d "$remoteHost" +%s)
      dataLength=$(echo $line | cut -d" " -f10 | sed "s/.$//")
      if [ $time -lt $1 ] && [ $time -gt $2 ]                             # Test inversé ?
      then
         somme=0                             # À initialiser avant la boucle
         nbrLine=1                           # À initialiser (à 0) avant la boucle
         ((nbrLine+=$dataLength))            # nbrLine+=1           ?
         (( somme += $ligne ))               # somme += $dataLength ?
      fi
   done < $fich
   echo -e "requettes totales : $nbreLine\t volume total : $somme"        # requêtes nbrLine
fi

Quand le script tournera correctement sur un petit fichier, il sera possible de l'optimiser, mais il faut d'abord être sûr de ce que tu veux faire.

#6 Re : -1 »  Inverser des touches du clavier avec evdev » Le 10/04/2014, à 23:45

pingouinux
Réponses : 6

Par contre, je dois les taper à chaque démarrage, les copier dans ./profile ne donne rien.

C'est dans ~/.profile (et il faut fermer, puis ré-ouvrir ta session).

#7 Re : -1 »  Valgrind, reconnaître faux positif » Le 17/04/2014, à 20:16

pingouinux
Réponses : 2

Bonjour,
Je peux juste faire une remarque, c'est que les 4 delete à la fin du main ne sont jamais atteints (à cause du return qui les précède).

#8 Re : -1 »  addition » Le 17/04/2014, à 09:51

pingouinux
Réponses : 7

Bonjour,
En bash

$ N=0;while read n;do printf "       %6d\n" $n;((N+=n));done <monFichier.txt;printf "Total= %6d\n" $N
        36856
          685
            0
          644
            6
           68
            0
            7
           57
           64
          684
Total=  39071

#9 Re : -1 »  addition » Le 17/04/2014, à 10:24

pingouinux
Réponses : 7

Toujours aussi concis, credenhill, et je préfère ta solution.

#10 Re : -1 »  Explication d'une expression rationnelle » Le 17/04/2014, à 08:54

pingouinux
Réponses : 9

Bonjour,

Je ne comprend pas du tout cette regex: (.)+\1
..........................................
J'ai testé  cet opérateur avec la regex (A|B|C)\1

Ce sont deux expressions différentes.
Peux-tu faire un copier-coller de la commande que tu as lancée, et du résultat ?

#11 Re : -1 »  Explication d'une expression rationnelle » Le 17/04/2014, à 10:13

pingouinux
Réponses : 9

Voici un extrait de man grep

Back References and Subexpressions
       The back-reference \n, where n is a single digit, matches the substring
       previously matched  by  the  nth  parenthesized  subexpression  of  the
       regular expression.

Recherche de 2 caractères identiques qui se suivent

$ grep -E -o '(.)\1' <<<"AAAABBBCCCDDEFGH"
AA
AA
BB
CC
DD

Recherche d'un nombre pair de caractères identiques qui se suivent
Recherche de 2 caractères (ou 2 expressions) identiques qui se suivent

$ grep -E -o '(.+)\1' <<<"AAAABBBCCCDDEFGH"
AAAA
BB
CC
DD
$ grep -E -o '(.+)\1' <<<"ABcdABcdAAABBCCCDDEFGH"
ABcdABcd
AA
BB
CC
DD

Là, je pense que c'est : Recherche d'une suite quelconque de caractères, le dernier étant doublé

$ grep -E -o '(.)+\1' <<<"AAAABBBCCCDDEFGH"
AAAABBBCCCDD

Édité : Explication pour le dernier cas
Re-édité : Complément pour le 2ème cas

#12 Re : -1 »  Faire une sauvegarde d'un disque dur complet » Le 16/04/2014, à 22:29

pingouinux
Réponses : 8

Bonsoir,

Benhux #7 a écrit :

J'ai fait :  dd if=sda of=/media/user/DisqueExterne/ImageDisque

C'est plutôt

dd if=/dev/sda of=/media/user/DisqueExterne/ImageDisque

#13 Re : -1 »  PATH modifié-Exécutable fonctionnant qu'en mode non super utilisateur » Le 16/04/2014, à 17:55

pingouinux
Réponses : 7

Bonjour,
texhash ne serait-il pas un alias, par hasard ?
Que renvoie cette commande ?

type texhash

#14 Re : -1 »  PATH modifié-Exécutable fonctionnant qu'en mode non super utilisateur » Le 16/04/2014, à 18:21

pingouinux
Réponses : 7
sudo ln -s /usr/local/texlive/2013/bin/x86_64-linux/texhash /usr/bin/texhash

Que fait-elle ?

Cette commande va placer dans /usr/bin un lien pointant sur ton fichier.

#15 Re : -1 »  recupérer l'historique des commande executer » Le 16/04/2014, à 13:29

pingouinux
Réponses : 2

Bonjour,
Je pense que history -c ne supprime l'historique des commandes que dans le terminal en cours (disons le n°1). Si tu ouvres un autre terminal, tu devrais récupérer l'historique des commandes antérieures à l'ouverture du terminal n° 1.

#16 Re : -1 »  diff sur des fichiers et dossiers » Le 12/04/2014, à 07:50

pingouinux
Réponses : 1

Bonjour,
Voici une piste :

diff <(cd arbo1;find|sort) <(cd arbo2;find|sort)

qui donne avec ton exemple :

3,4d2
< ./dossier 1/Sous dossier 1
< ./dossier 1/Sous dossier 1/Fichier 1
6,7d3
< ./dossier 2/Sous dossier 1
< ./dossier 2/Sous dossier 1/Fichier 1

On peut éventuellement filtrer le résultat ensuite. Par exemple :

diff <(cd arbo1;find|sort) <(cd arbo2;find|sort) | sed -n 's/^< *//p'
./dossier 1/Sous dossier 1
./dossier 1/Sous dossier 1/Fichier 1
./dossier 2/Sous dossier 1
./dossier 2/Sous dossier 1/Fichier 1

Ajouté :
Tu as aussi ceci

comm -23 <(cd arbo1;find|sort) <(cd arbo2;find|sort)

#17 Re : -1 »  Unbutu » Le 10/04/2014, à 11:24

pingouinux
Réponses : 7

Bonjour,
Par exemple :
http://releases.ubuntu.com/

#18 Re : -1 »  [Réglé] Regrouper 6 lignes en 1 » Le 10/04/2014, à 18:15

pingouinux
Réponses : 9

Bonjour,

$ awk -v ORS="" '{if(!/^[\s]*$/){print $0";";n++;if(!(n%6)){printf"\n"}}}' MonFichier
Info 1A;Info 1B;Info 1C;Info 1D;Info 1E;Info 1F;
Info 2A;Info 2B;Info 2C;Info 2D;Info 2E;Info 2F;
Info 3A;Info 3B;Info 3C;Info 3D;Info 3E;Info 3F;

#19 Re : -1 »  [Réglé] Regrouper 6 lignes en 1 » Le 10/04/2014, à 18:47

pingouinux
Réponses : 9

Un peu plus simple :

awk -v ORS="" '!/^[\s]*$/{print $0";";if(!(++n%6))printf"\n"}' MonFichier

#20 Re : -1 »  [Réglé] 2 groupes d'infos sur une ligne à passer en 2 lignes » Le 10/04/2014, à 19:08

pingouinux
Réponses : 6

Re-bonjour,
Peux-tu donner un exemple plus concret (avec les codes postaux), et le résultat que tu souhaites ?

Édité : Pour ne récupérer que les lignes "code_postal ville"

sed -rn 's/^([0-9]{5})\s+(.*)/\1\n\2/p' MonFichier

#21 Re : -1 »  [Réglé] 2 groupes d'infos sur une ligne à passer en 2 lignes » Le 10/04/2014, à 19:46

pingouinux
Réponses : 6
sed -r 's/^([0-9]{5})\s+(.*)/\1\n\2/' MonFichier

Édité : Et pour enlever dans la foulée la ligne commençant par "Tél :"

sed -r 's/^([0-9]{5})\s+(.*)/\1\n\2/;/^Tél\s*:/d' MonFichier

Si c'est juste pour enlever "Tél : " en début de ligne

sed -r 's/^([0-9]{5})\s+(.*)/\1\n\2/;s/^Tél\s*:\s*//' MonFichier

#22 Re : -1 »  [Réglé] Casse de titre en bash ? » Le 10/04/2014, à 23:29

pingouinux
Réponses : 2

C'est encore moi… smile
Pour ne pas toucher à la première lettre du mot, et mettre les suivantes en minuscules

sed -r 's/\b([[:alpha:]])([[:alpha:]]+)\b/\1\L\2\E/g' fichier

Pour mettre la première lettre en majuscule, et les suivantes en minuscules

sed -r 's/\b([[:alpha:]])([[:alpha:]]+)\b/\U\1\L\2\E/g' fichier

Édité

#23 Re : -1 »  [Résolu] [gawk + regex] Comportement différent de [A-Z] et [[:upper:]] » Le 10/04/2014, à 12:07

pingouinux
Réponses : 3

Bonjour,
C'est un problème de "collating sequence". Pour avoir le bon comportement dans les deux cas :

LC_COLLATE="C" ./regex.sh

Ajouté : Tu peux aussi faire ceci

grep -o '[A-Z].*' regex.txt

#24 Re : -1 »  [Bash][Simple mais Compliqué] Commande : paramètre variable + préfixe » Le 09/04/2014, à 17:09

pingouinux
Réponses : 3

Bonjour,

echo '$out' # out n'est pas remplacé par sa valeur
echo "$out" # out est remplacé par sa valeur

Le mieux est que tu donnes un exemple du contenu de "$1" et de la commande clive que tu veux générer.