#!/bin/bashextension="png"# Le nom d'extension SANS le point qui la précèdenomRepert="/nom/du/répertoire"# …dans lequel se trouvent les fichiers à traitertablFichs=("$nomRepert/"*"$extension")tablFichs=("${tablFichs[@]##*\/}")tmpIFS="$IFS"IFS=$'\n'maRegex='([0-9]{1,}\.'"$extension"')$'tablUniqs=($(\for fich in "${tablFichs[@]}";do[["$fich"=~ $maRegex]]&&\printf"%s\n""${fich//${BASH_REMATCH[1]}/}"done| sort -u
))for debutNom in "${tablUniqs[@]}";dochiffres=""maRegex="^$debutNom"'([0-9]{1,})\.'"$extension"for fich in "${tablFichs[@]}";do[["$fich"=~ $maRegex]]&&\chiffres+="${BASH_REMATCH[1]}"$'\n'donechiffres="$(sort -n <<<$chiffres| tr '\n'',')"printf"%s\n""$debutNom[${chiffres:1:-1}]"doneIFS="$tmpIFS"
La liste des noms des fichiers pour le test :
autrefichier_4.png
autrefichier_5.png
avec espace1.png
avec espace2.png
avec espace3.png
fic77.pnget445.png
fich77a7888.png
fich77a7.png
fichier42.png
un77autre_0.png
un77autre_3.png
unautre_055.png
unautre_155.png
unautre_50.png
unautre_56.png
Le retour du script en fonction de la liste ci-dessus :
autrefichier_[4,5]
avec espace[1,2,3]
fic77.pnget[445]
fich77a[7,7888]
fichier[42]
un77autre_[0,3]
unautre_[50,055,56,155]
#!/bin/bashextension=".png"nomRepertoire="dossier"tmpIFS="$IFS";IFS=$'\n'tablFichs=("$nomRepertoire/"*"$extension")tablFichs=(${tablFichs[@]##*\/})maRegex='[0-9][0-9]*'"$extension"'$'tablUniqs=($(\for fich in "${tablFichs[@]}";do[["$fich"=~ ($maRegex)]]&&\printf"%s\n""${fich//${BASH_REMATCH[1]}/}"done| sort -u
))for debutNom in "${tablUniqs[@]}";dochiffres=""for fich in "${tablFichs[@]}";do[["$fich"=~ "$debutNom"(.*)]]&&\chiffres+="${BASH_REMATCH[1]//$extension}"doneprintf"%s\n""$nomRepertoire/$debutNom[$chiffres]"doneIFS=$tmpIFS
#!/bin/bashnomIdentique="toto"# La partie identique du nom des fichiersmaRegex="$nomIdentique([0-9]).png$"# Pour extraire le chiffre situé juste avant ".png"chiffres=""# Pour la liste des chiffres qui seront extraitstablFichs=( dossier/$nomIdentique*.png )# Mise dans un tableau de la listefor fich in "${tablFichs[@]}";dofich="${fich##*\/}"# Suppression du nom du chemin [["$fich"=~ $maRegex]]&&chiffres="$chiffres${BASH_REMATCH[1]}"doneecho"$nomIdentique[$chiffres]"
Pour la bouteille de gaz, il te faut la poser sur un "pèse personne" (environ 10€)
Pose une bouteille de gaz vide sur le pèse personne et mets à zéro le pèse personne.
Quand ta bouteille pleine se videra alors qu'elle est posée sur le pèse personne,
il te suffira de lire le poids de gaz restant pour prévoir de la changer avant la panne.
J'ai remplacé la commande grep par une commande sed,
ce qui fait que, si l'environnement le permet,
l'exécution successive des deux lignes de commandes suivantes
devraient suffire pour créer ton nouveau fichier /usr/bin/oscam
nomFichier=wget -q -O- --trust-server-names "http://dreamosat.net/oscam/index.php?&direction=1&order=nom&directory=1.20_TRUNK/arm_dm900-solo4k" | sed -n '0,/.*downloadfile/s/.*filename=\(oscam-svn.*tar.gz\)&.*/\1/p'
wget -q -O- --trust-server-names "http://oscam.dreamosat.net/index.php?action=downloadfile&filename=$nomFichier&directory=1.20_TRUNK/arm_dm900-solo4k&" | tar -xOz > /usr/bin/oscam
En récupérant le nom du premier fichier à télécharger dans la page web : http://dreamosat.net/oscam/index.php?&direction=1&order=nom&directory=1.20_TRUNK/arm_dm900-solo4k
Je n'ai peut-être pas bien compris le problème, mais au cas où,
voilà comment j'assigne la valeur 11466 à la variable freeservrb74
puis comment j'insère la variable freeservrb74 dans la chaîne de caractères
que j'assigne à la variable HTTPSERV75
…conforme à la langue française…
…insertion de tirets longs "automatiques" quand on écrit par exemple : "Mes meilleurs amis - Monique et Michel, venaient de repartir" …
Cet exemple d'utilisation du tiret long n'est pas conforme à la langue française.
Tu pourrais donner un nom de LABEL (étiquette) au système de fichiers de cette disquette :
Ce nom de LABEL sera composé d'un maximum de 11 chiffres ou lettres en majuscules.
# les lignes de commande(s) qui suivent devront être exécutées# avec les privilèges du compte root# Récupération du nom du fichier de périphérique associé à la disquettefichDev=$(findmnt -n -o SOURCE --target /media/nom_utilisateur/CADC-OBF2)# Démontage du système de fichiers de la disquette
udisksctl unmount -b $fichDev# Donner un LABEL (étiquette) au système de fichiers de la disquette
fatlabel $fichDev MADISQUETTE
Et maintenant, quand tu monteras ta disquette en utilisant l'interface de ton Environnement de Bureau
le chemin absolu du point de montage qui sera automatiquement crée sera : /media/nom_utilisateur/MADISQUETTE
Bien sûr, rien ne t’empêche de créer dans un des sous-répertoires de ton répertoire personnel
un lien symbolique qui sera associé au point de montage /media/nom_utilisateur/MADISQUETTE
Tout dépend des caractères qui pourraient êtres "vus" comme des caractères espaces,
alors que ce ne sont peut-être pas réellement des caractères espace.
echo"the cake is a lie :)" > HL3.txt
od -c HL3.txt
0000000 t h e 342200206 c a k e 342200207 i s 3420000020200210 a l i e : )\n0000032
hd HL3.txt
00000000746865 e2 80866361 6b 65 e2 80876973 e2 |the...cake...is.|0000001080886120 6c 6965 3a 29 0a |..a lie:).|
0000001a
# Avec sed
Posté par MicP . En réponse au message Ajouter un mot au debut de la ligne sur shell. Évalué à 4. Dernière modification le 13 février 2019 à 17:09.
NOTE : Histoire de ne pas confondre ce qui est affiché avec un
L
minuscule,c'est le numéro de la ligne (chiffre 1) qui est juste avant le caractère
s
[^] # Re: celui-ci devrait mieux fonctionner
Posté par MicP . En réponse au message bash recuperer nom de plusieurs fichiers incrémentés. Évalué à 1. Dernière modification le 12 février 2019 à 07:37.
Le contenu de
monScript.sh
:La liste des noms des fichiers pour le test :
Le retour du script en fonction de la liste ci-dessus :
[^] # message à supprimer
Posté par MicP . En réponse au message bash recuperer nom de plusieurs fichiers incrémentés. Évalué à 1. Dernière modification le 12 février 2019 à 07:24.
désolé
# ou alors…
Posté par MicP . En réponse au message bash recuperer nom de plusieurs fichiers incrémentés. Évalué à 1.
# un petit script
Posté par MicP . En réponse au message bash recuperer nom de plusieurs fichiers incrémentés. Évalué à 1. Dernière modification le 11 février 2019 à 16:59.
# en téléchargeant d'abord le fichier image :
Posté par MicP . En réponse au message essai de script. Évalué à 2.
# ou alors, avec un pipe, utiliser xargs
Posté par MicP . En réponse au message probleme avec la commande ls | file. Évalué à 3. Dernière modification le 10 février 2019 à 16:46.
=======
Voir :
# ou bien, en une seule ligne :
Posté par MicP . En réponse au message Extraire un lien dans un fichier. Évalué à 2.
# ou alors :
Posté par MicP . En réponse au message Télécharger un fichier ipk zip. Évalué à 1. Dernière modification le 04 février 2019 à 13:07.
[^] # Re: Pour coloriser…
Posté par MicP . En réponse au message Alias avec cible changeante.. Évalué à 2.
Bonjour
# …créer un script pour télécharger un fihier ipk …
Posté par MicP . En réponse au message Télécharger un fichier ipk zip. Évalué à 3. Dernière modification le 02 février 2019 à 04:13.
Bonjour
# …c'est comme les bouteilles de gaz, ça tombe en panne quand on en a besoin !…
Posté par MicP . En réponse au message Vérifier l'intégrité des sauvegardes. Évalué à 2.
Pour la bouteille de gaz, il te faut la poser sur un "pèse personne" (environ 10€)
Pose une bouteille de gaz vide sur le pèse personne et mets à zéro le pèse personne.
Quand ta bouteille pleine se videra alors qu'elle est posée sur le pèse personne,
il te suffira de lire le poids de gaz restant pour prévoir de la changer avant la panne.
[^] # Re: Finalement peut-être…
Posté par MicP . En réponse au message Insérer une variable dans un lien sur shell. Évalué à 1.
Grrrr!!!!
J'ai oublié deux caractères.
Je reprends le message précédent en y apportant la correction :
Désolé…
[^] # Re: Finalement peut-être…
Posté par MicP . En réponse au message Insérer une variable dans un lien sur shell. Évalué à 1. Dernière modification le 16 janvier 2019 à 14:59.
J'ai remplacé la commande
grep
par une commandesed
,ce qui fait que, si l'environnement le permet,
l'exécution successive des deux lignes de commandes suivantes
devraient suffire pour créer ton nouveau fichier
/usr/bin/oscam
# Finalement peut-être…
Posté par MicP . En réponse au message Insérer une variable dans un lien sur shell. Évalué à 1. Dernière modification le 16 janvier 2019 à 23:02.
En récupérant le nom du premier fichier à télécharger dans la page web :
et en l'assignant à la variable nomFichier,
pour ensuite télécharger ce fichier et renommer le fichier extrait en /usr/bin/oscam
# Ou alors…
Posté par MicP . En réponse au message Insérer une variable dans un lien sur shell. Évalué à 3. Dernière modification le 16 janvier 2019 à 22:59.
En récupérant le nom du premier fichier à télécharger dans la page web :
http://dreamosat.net/oscam/index.php?&direction=1&order=nom&directory=1.20_TRUNK/arm_dm900-solo4k
et en l'assignant à la variable nomFichier :
Pour ensuite insérer la variable nomFichier dans le texte du lien de téléchargement
en assignant ce texte à la variable HTTPSERV75 :
# insérer une variable
Posté par MicP . En réponse au message Insérer une variable dans un lien sur shell. Évalué à 3. Dernière modification le 16 janvier 2019 à 03:46.
Bonjour
Je n'ai peut-être pas bien compris le problème, mais au cas où,
voilà comment j'assigne la valeur 11466 à la variable freeservrb74
puis comment j'insère la variable freeservrb74 dans la chaîne de caractères
que j'assigne à la variable HTTPSERV75
# XFCE -> Synaptic
Posté par MicP . En réponse au message Debian vs Ubuntu. Évalué à 1.
Depuis l'interface graphique de l'Environnement de Bureau XFCE :
Applications -> Système -> Gestionnaire de paquets Synaptic
# tiret long…
Posté par MicP . En réponse au message éditeur texte ou markdown aidant à la conformité à la langue française. Évalué à 3.
Cet exemple d'utilisation du tiret long n'est pas conforme à la langue française.
Voir : https://fr.wikipedia.org/wiki/Tiret#Tiret_long
# echo
Posté par MicP . En réponse au message Interpréter une variable une seule fois. Évalué à 1. Dernière modification le 22 octobre 2018 à 19:16.
Bonjour
# Et aussi…
Posté par MicP . En réponse au message Les signaux avec Trap . Évalué à 2.
Et aussi :
https://www.gnu.org/software/libc/manual/html_node/Standard-Signals.html#Standard-Signals
[^] # LABEL
Posté par MicP . En réponse au message Lecteur de disquette molle et chemin d’accès cacher. . Évalué à 1. Dernière modification le 02 octobre 2018 à 23:03.
Tu pourrais donner un nom de LABEL (étiquette) au système de fichiers de cette disquette :
Ce nom de LABEL sera composé d'un maximum de 11 chiffres ou lettres en majuscules.
Et maintenant, quand tu monteras ta disquette en utilisant l'interface de ton Environnement de Bureau
le chemin absolu du point de montage qui sera automatiquement crée sera :
/media/nom_utilisateur/MADISQUETTE
Bien sûr, rien ne t’empêche de créer dans un des sous-répertoires de ton répertoire personnel
un lien symbolique qui sera associé au point de montage
/media/nom_utilisateur/MADISQUETTE
# hiérarchie
Posté par MicP . En réponse au message à quoi sert le répertoire /usr. Évalué à 10.
Bonjour
Il y a la page man de hierarchy :
man hier
ou, si besoin, la même mais traduite en français
qui est accessible par le lien linuxfr-france.org.invalid man -> hier-7.html
# où alors…
Posté par MicP . En réponse au message Besoin d'aide pour la commande tr. Évalué à 4. Dernière modification le 29 septembre 2018 à 14:01.
Bonjour
Tout dépend des caractères qui pourraient êtres "vus" comme des caractères espaces,
alors que ce ne sont peut-être pas réellement des caractères espace.
# correction
Posté par MicP . En réponse au message generation par lot de datamatrix. Évalué à 1. Dernière modification le 10 septembre 2018 à 07:30.
…
et après avoir installé ce paquetage, le chemin absolu de la commande
dmtxwrite
est
/usr/bin/dmtxwrite
…