#1 Le 24/04/2023, à 06:11
- bubu75
[RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Bonjour je suis grand débutant dans l'écriture de scripts Bash. Et de plus j'ai un accès internet limité ce qui peut m'empêcher de chercher trop longtemps sur internet, et de par là m'amener à plutôt poser la question sur un forum (je le précise parce que je m'attends toujours à la réponse "on trouve ça en 3 secondes et demie dans un moteur de recherche!!!").
*
Ce que je veux faire.
Modifier avec des regex le texte à l'intérieur d'un fichier.
Ceci directement dans ce fichier, ou en créant un autre fichier dans lequel le résultat est copié, je ne sais pas encore quelle solution je préfère, les 2 explications m'intéresseraient de toute façon.
Ceci juste en 2 ou 3 clics dans l'interface de Nemo (fork de Nautilus), au lieu de taper la commande en devant chaque fois la personnaliser pour chaque fichier. Car je veux le faire pour des dizaines de fichiers, voire des centaines dans l'avenir, alors je dois rationnaliser le temps un minimum.
*
Où j'en suis pour l'instant.
1/
Grâce à un vieux pdf du SiteDuZéro "Reprenez le contrôle à l'aide de Linux", j'ai pu créer un fichier de test, le rendre exécutable, et vérifier qu'il fonctionne bien, avec le contenu:
#!/bin/bash
pwd
ls
Donc au moins je pense que j'ai la base.
2/
Trouvé la ligne pour la modification voulue:
sed -i s/aaaaa/bbbbb/g /home/mon-nom/dossier-du-fichier/nom-du-fichier
Cela remplacera bien les aaaaa par des bbbbbb, mais problème, cette ligne marche seulement si je la lance dans le terminal, et le résultat lui aussi s'affiche seulement dans le terminal, aucune modification dans le fichier d'origine.
EDIT: cette commande modifie bien le fichier en fait, j'avais dû oublier le -i.
3/
Trouvé le chemin pour que les scripts s'affichent dans le menu contextuel de Nemo.
Dans ce script j'ai mis donc:
#!/bin/bash
sed -i s/#####/-/g
Puis j'ai appliqué la procédure que je recherche:
Dans Nemo, clic droit sur le fichier voulu > Scripts > clic sur le script voulu.
Mais absolument rien ne se passe.
EDIT: petit bug j'aurais dû indiquer le même exemple "aaaaa/bbbbb" mais par erreur j'ai mis un autre que j'ai utilisé pour mes tests, "#####/-". Tant pis je le laisse dans ce post.
*
Si quelqu'un peut m'expliquer, mais sinon un lien avec des tutos compréhensibles me suffirait.
Dernière modification par bubu75 (Le 29/04/2023, à 16:33)
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#2 Le 24/04/2023, à 07:59
- Hizoka
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Salut,
2/
Trouvé la ligne pour la modification voulue:sed -i s/aaaaa/bbbbb/g /home/mon-nom/dossier-du-fichier/nom-du-fichier
Cela remplacera bien les aaaaa par des bbbbbb, mais problème, cette ligne marche seulement si je la lance dans le terminal, et le résultat lui aussi s'affiche seulement dans le terminal, aucune modification dans le fichier d'origine.
Et pourtant, le -i permet de modifier le fichier et ne devrait pas t'afficher de résultat dans le terminal.
Et elle fonctionnera tout aussi bien dans un script.
Es tu sur d'avoir utiliser le -i ?
Et il vaut mieux entourer de " le s/aaaaa/bbbbb/g.
#!/bin/bash
sed -i s/#####/-/g
Tu ne précises pas de fichier ? Il doit certainement y avoir une variable pour ça proposée par Nemo.
A priori ca serait avec un '%F' depuis le fichier desktop puis utilisation de ${1} dans le script.
Dernière modification par Hizoka (Le 24/04/2023, à 08:04)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#3 Le 24/04/2023, à 12:54
- Watael
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
ce serait "$1" (sans les accolades inutiles, et avec des guillemets) pour un fichier sélectionné.
si un ou plusieurs fichiers peuvent être sélectionnés, alors ce sera
sed --separate --in-place $(date +'_%Y%m%d-%T') 's/recherche/remplacement/g' "$@"
ici, le paramètre passé à l'option --in-place permet de conserver une copie de l'original du fichier en suffixant son nom avec la date et l'heure.
je n'utilise pas de gestionnaire de fichiers : les manipulations à la souris me font perdre du temps.
renseigne-toi sur les possibilités offertes par find pour retrouver des fichiers, et y appliquer des commandes.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 24/04/2023, à 13:19
- nany
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Bonjour,
Tu ne précises pas de fichier ? Il doit certainement y avoir une variable pour ça proposée par Nemo.
Voir le §2.5 de la page de doc nemo.
Il faudrait créer un fichier d’extension .nemo_action contenant entre autres :
Quote=double
Exec=sed -i 's/#####/-/g' %F
je n'utilise pas de gestionnaire de fichiers : les manipulations à la souris me font perdre du temps.
Espèce de vieux réac !
Hors ligne
#5 Le 27/04/2023, à 03:46
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Es tu sur d'avoir utiliser le -i ?
Merci c'était ça! J'ai testé la commande dans le terminal sans le -i et en effet à ce moment-là le résultat s'affiche dans le terminal au lieu de modifier le fichier. Et inversement, avec le -i ça fonctionne.
Pourtant j'étais sûr d'avoir bien fait, mais c'est forcément l'explication.
*
Tu ne précises pas de fichier ?
Oui bien sûr car je veux que le script s'applique sur tout fichier sur lequel je le demande (en faisant un clic droit etc sur le fichier). Mais donc si je comprends il faut que j'ajoute un élément du genre '%F' ou "$1" pour dire de façon générique "sur ce fichier" ou du moins "sur cet élément".
*
A priori ca serait avec un '%F' depuis le fichier desktop
Pas compris, peut-être c'est dans le cas où on place ses scripts sur le bureau/desktop?
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#6 Le 27/04/2023, à 04:01
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
@Watael
Il y a (presque) tout ce que je cherchais merci!
sed --separate --in-place $(date +'_%Y%m%d-%T') 's/recherche/remplacement/g' "$@"
Bien que sans internet j'ai fait des tests et ils fonctionnent, je laisse le #!/bin/bash bien sûr, puis selon la ligne que j'ajoute:
sed -i 's/recherche/remplacement/g' "$1"
Applique bien le remplacement, il manquait donc juste "$1"!
Je n'ai pas lu grand-chose, mais tout de même sur le un peu que j'ai lu je n'ai pas trouvé cette information basique, que mettre "$1" en fin de commande veut dire en gros si j'ai compris "appliquer la commande sur l'élément sélectionné avec le clic" (sélectionné avec un clic ou sans doute choisi aussi d'autres manières). Mais si c"est une "variable" en effet je n'ai encore pas lu de trucs sur les "variables".
Par contre tu avais dû oublier le -i, car rien ne se passait sans lui, mais quand je l'ai ajouté tout a fonctionné parfaitement (demandez-moi si vous avez un problème avec Bash je vous expliquerai).
sed -i 's/recherche/remplacement/g' "$@"
Fonctionne bien, ainsi si je sélectionne plusieurs fichiers, le scripts s'applique sur tous. C'est magnifique!!!!!
Donc je peux presque m'arrêter là, progresser dans les scripts j'espère le faire prochainement ou "un jour" mais pour l'instant j'avais juste besoin d'en faire un petit pour une tâche répétitive.
*
Par contre
sed --separate --in-place $(date +'_%Y%m%d-%T') -i 's/recherche/remplacement/g' "$1"
ne marche pas, le fichier est modifié lui-même comme avec la commande précédente, c'est tout. Alors que si j'ai compris il devrait modifier le fichier original en ajoutant la date dans son nom, et créer un nouveau fichier avec le même nom que l'original et qui contiendra le résultat (ou modifier le fichier lui-même mais créer en plus une archive de la version originale, ce qui doit revenir au même).
J'ai essayé quelques tests mais n'ont rien résolu:
sed -i --separate --in-place $(date +'_%Y%m%d-%T') 's/recherche/remplacement/g'
Enlevé le "$1": le fichier est modifié lui-même, rien de plus.
sed -i --separate --in-place $(date +'_%Y%m%d-%T') 's/recherche/remplacement/g' "$1"
Mis le -i en premier: idem.
sed --separate --in-place $1(date +'_%Y%m%d-%T') -i 's/recherche/remplacement/g' "$1"
Mis $1 au lieu de $: idem.
sed --separate --in-place "$"(date +'_%Y%m%d-%T')" -i 's/recherche/remplacement/g' "$1"
ou
sed --separate --in-place "$(date +'_%Y%m%d-%T')" -i 's/recherche/remplacement/g' "$1"
Essayé d'ajouter des guillemets: idem.
sed -i 's/recherche/remplacement/g' "$1" --separate --in-place "$(date +'_%Y%m%d-%T')"
Gardé les guillemets ajoutés et changé l'ordre: idem.
Cette fonction pourtant pourrait fort m'intéresser, peut-être il y a juste un petit bug à corriger dans la commande?
*
je n'utilise pas de gestionnaire de fichiers : les manipulations à la souris me font perdre du temps.
renseigne-toi sur les possibilités offertes par find pour retrouver des fichiers, et y appliquer des commandes.
Oui moi aussi je voudrais devenir un réac, les interfaces avec des boutons c'est pour les dangereux anarchistes.
Enfin ça fait partie de quelques rêves que je caresse depuis des années, mais qui ont des chances de rester juste des rêves:
(Je ne suis pas complètement sûr de ce que c'est ces choses mais bon)
-Taper sans regarder le clavier (peut-être clavier Bépo aussi).
-Navigation au clavier.
L'utilisation de Vim (ou équivalent) au lieu de Gedit/Kate/etc en ferait sans doute partie.
Ainsi que find alors? Je suppose qu'en utilisant find dans le terminal on peut remplacer les gestionnaires de fichiers et devenir super-rapide.
Mais bon ça demande sans doute quelques heures de lecture et d'apprentissage (qui deviennent vite des jours avec moi) et ce n'est vraiment pas dans mes projets immédiats, je reste avec la stratégie du vautour, je tourne autour de ma proie avec le doigt, et quand je l'ai trouvée je tombe dessus, et PAF la lettre R, maintenant où se cache la lettre suivante...
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#7 Le 27/04/2023, à 04:08
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Hizoka a écrit :Tu ne précises pas de fichier ? Il doit certainement y avoir une variable pour ça proposée par Nemo.
Voir le §2.5 de la page de doc nemo.
Il faudrait créer un fichier d’extension .nemo_action contenant entre autres :Quote=double Exec=sed -i 's/#####/-/g' %F
Pardon mais je ne comprends rien du tout, ni comment le faire, ni ce que ça produira, ni la raison de le faire.
Mais si c'est pour savoir comment ajouter des scripts à choisir dans le menu contextuel de Nemo, comme j'avais dit j'avais trouvé, j'avais fait:
Menu Édition > Greffons > Dans le panneau Scripts, clic sur l'icône du dossier
Cela ouvre le dossier /home/l32ve/.local/share/nemo/scripts/, où s'installent les scritpts.
Ce panneau "Scripts" permet aussi de cocher/décocher les scripts pour les activer/désactiver.
Les utilisateurs de scripts doivent savoir tout ça depuis des siècles mais c'est pour dire que c'est la manière d'installer des scripts que j'ai utilisée, alors je sais déjà les installer, mais si ce qui était indiqué et que je n'ai pas compris a le même but, peut-être c'est une meilleure alternative? Peut-être un script est plutôt à installer sur le bureau? (pardon je suis vraiment "grand débutant"!). Mais aussi comme j'ai dit pour l'instant je cherchais surtout à réaliser une tâche précise, tant pis peut-être si je ne le fais pas de la meilleure façon je suis surtout content que ça marche même si je passe par le sous-menu de Nemo puis par son menu contextuel pour l'exécuter, et que c'est peut-être une hérésie réservée aux noobs mais je suis un noob je crains. J'espère par la suite devenir peut-être un scriptiste un dur un vrai mais je manque un peu beaucoup de temps.
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#8 Le 27/04/2023, à 04:12
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Petites annonces.
Si quelqu'un en connait un, je recherche un tuto pour les scripts Bash, mais pas "un tuto", j'ai déjà vu qu'il y a plein de pages partout, toutes plus mal faites les unes que les autres, selon le principe que leur manière de s'expliquer est en contradiction avec ce qu'elles disent expliquer (autrement dit, si on a le niveau pour comprendre les termes techniques employés, supporter les manques d'explicitations et les ellipses, et se contenter de finalement souvent juste quelques os à ronger, je crois qu'on a déjà le niveau et qu'on n'a pas vraiment besoin de leurs pages, ou bien ils devraient les appeler juste "pense-bête").
Ce que je cherche c'est quelque chose de complet et qui explique bien depuis le début, surtout le début, avec les sed, les -i, les "$@", les '%F', où placer le script, et plein de trucs inconnus. Bref les bases pour les neuneus, genre le SiteDuZéro / OpenClassRooms, je suis en train de regarder chez eux mais je n'ai pas encore trouvé, juste https://openclassrooms.com/fr/courses/7 … -sous-bash ici pour l'instant, mais ça explique rien c'est tout naze on dirait.
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#9 Le 27/04/2023, à 07:43
- MicP
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Bonjour
… -i[SUFFIX], --in-place[=SUFFIX] …
Il manque un caractère = entre --in-place et $(date +'_%Y%m%d-%T')
Donc, dans le script,
il faudrait une ligne de commande comme celle ci-dessous :
sed --separate --in-place=$(date +'_%Y%m%d-%T') 's/recherche/remplacement/g' "$@"
Dernière modification par MicP (Le 28/04/2023, à 13:30)
Hors ligne
#10 Le 27/04/2023, à 08:08
- Hizoka
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Ca fait mal tous tes tests
sed --separate --in-place $1(date +'_%Y%m%d-%T') -i 's/recherche/remplacement/g' "$1"
sed --separate --in-place "$"(date +'_%Y%m%d-%T')" -i 's/recherche/remplacement/g' "$1"
Il faut absolument apprendre des bases : https://tldp.org/LDP/abs/html/abs-guide.html
nany proposait une solution permettant de se passer d'un script en se basant sur la doc.
Ton système semble te proposer de gérer directement des scripts.
Oui bien sûr car je veux que le script s'applique sur tout fichier sur lequel je le demande (en faisant un clic droit etc sur le fichier). Mais donc si je comprends il faut que j'ajoute un élément du genre '%F' ou "$1" pour dire de façon générique "sur ce fichier" ou du moins "sur cet élément".
Ouais, mais il n'y a rien de magique, il faut préciser un fichier ou une variable représentant une adresse de fichier, donc soit $1, $@ ou %F en fonction d'ou se trouve ta commande.
Pas compris, peut-être c'est dans le cas où on place ses scripts sur le bureau/desktop?
Je pensais que nemo utilisait les fichier.desktop comme d'autres systèmes mais ça ne semble pas le cas.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#11 Le 27/04/2023, à 12:07
- nany
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Cela ouvre le dossier /home/l32ve/.local/share/nemo/scripts/, où s'installent les scritpts.
Alors, dans ce répertoire, on peut effectivement mettre des scripts à la manière des nautilus_scripts en remplaçant NAUTILUS par NEMO dans les noms de variables (cliquer sur « Plus d’information » pour voir les variables possibles).
Ton script devrait alors contenir :
#!/bin/bash
sed -i 's/#####/-/g' $NEMO_SCRIPT_SELECTED_FILE_PATHS
Le seul souci c’est que ça ne marche pas avec des fichiers ayant une ou des espaces dans leur nom. Il faut alors modifier la variable système IFS (Internal Field Separator) pour ne pas mettre les espaces (et tabulations) comme séparateurs de champs :
#!/bin/bash
# sauvegarde de l’IFS
Old_IFS=$IFS
# on ne garde que le saut de ligne comme séparateur de champs
IFS='
'
# remplacement dans le(s) fichiers(s) sélectionné(s)
sed -i 's/#####/-/g' $NEMO_SCRIPT_SELECTED_FILE_PATHS
# restauration de l’IFS
IFS=$Old_IFS
Il y a quelques inconvénient avec cette solution :
le script est accessible dans un sous-menu « Scripts » du menu contextuel ;
le script est accessible quelle que soit la sélection et n’est donc pas toujours valable.
Donc,
Menu Édition > Greffons > Dans le panneau Scripts, clic sur l'icône du dossier
Si, au lieu du panneau « Scripts », tu fais la même chose dans le panneau « Actions » tu ouvriras le répertoire /home/l32ve/.local/share/nemo/actions/ où il est possible de cliquer sur « Plus d’information » pour avoir un exemple avec les détails sur les différentes options (en anglais, il y a une traduction, qui vaut ce qu’elle vaut car elle date, ici).
On pourrait alors créer, par exemple, un fichier replace.nemo_action contenant :
[Nemo Action]
Active=true
Name=Replace ##### by -
Comment=Remplace ##### par -. Action will be applied to %N
Exec=sed -i 's/#####/-/g' %F
Selection=notnone
Mimetypes=text/plain;
Quote=double
Name[fr]=Remplacer ##### par -
Comment[fr]=Remplacer ##### par - dans %N
Cette solution a pour avantage de ne faire apparaître l’option du menu contextuel que lorsque un ou plusieurs fichiers du type texte sont sélectionnés.
Quant à un bon « tuto », Hizoka a donné ci-dessus le lien vers abs-guide (c’est avec ça que j’ai commencé) dont il existe une traduction (un peu plus ancienne) ici.
Hors ligne
#12 Le 29/04/2023, à 16:07
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
@MicP
Merci ça fonctionne parfaitement!
(Donc alors ici pas besoin du -i, hmmmm que de mystères...)
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#13 Le 29/04/2023, à 16:12
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Ca fait mal tous tes tests
Mais non les commandes c'est comme une voiture ou une mobylette, si ça ne démarre pas, tu descends, tu mets un grand coup de pied dedans, et quand tu remontes normalement ça démarre.
Il faut absolument apprendre des bases : https://tldp.org/LDP/abs/html/abs-guide.html
Merci aussi j'ai juste survolé rapidement le lien mais il semble pouvoir être exactement ce que je cherchais, apprendre les bases c'est tout ce que je demande pour faire des scripts (sans doute j'en ferai dans l'avenir) sans demander à mon prochain pour le moindre détail. Si ce n'est le manque de temps et que je n'ai/n'avais pas trouvé de site/page/tuto à ma portée.
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#14 Le 29/04/2023, à 16:31
- bubu75
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
@nany
Merci aussi pour cette réponse détaillée.
*
Pour le problème des espaces dans le nom, c'est un problème nécessaire à prendre en compte en effet apparemment, les fichiers de mes tests n'avaient pas d'espaces mais "les vrais" en comprendront en effet en général! (Même si j'ai vu qu'il existe des trucs pour remplacer les espaces des titres par des tirets etc, mais je préfère la solution de les laisser et de les gérer comme décrit.)
Je n'ai pas encore complètement lu et bien compris ce post et les liens vers la doc, mais je vais regarder tout cela.
*
Merci pour le lien vers la traduction, le guide donné par Hizoka semble très bien à première vue (20 secondes), l'anglais je me débrouille à peu près mais parfois je peux bloquer sur un mot et une traduction déjà faite cela fait gagner du temps.
*
Hors-sujet.
Bon dans l'immédiat et pour les jours qui viennent je dois aller m'occuper de ma cave j'ai un mot sur la porte qui dit que je dois enlever mon b*rd*l sous peine d'ennuis financiers, et les jours, semaines et mois suivants sont pareil ou pires pour le gros lent (mais on trouve quand même du temps pour faire clic clic clic sur internet, surtout si c'est en lien avec le débarras de la dite cave).
Ceci est pour les curieux, et pour m'excuser de dire à plusieurs reprises "je manque de temps blablabla".
D'ailleurs tout est lié dans la vie. Pour les encore plus curieux tiens, voilà (et peut-être certains seront intéressés par la belle extension Firefox que voici), mon script c'est pour rendre plus lisibles les commentaires téléchargés sur Youtube (dans un fichier texte plus léger et durable qu'un affichage lourd et effaçable dans un onglet FF, hop dans Nemo). Car j'avais besoin de renseignements pour divers matos entassés dans ma cave à débarasser vite, il y a des vidéos Youtube qui en parlent, mais les commentaires sous la vidéo peuvent contenir aussi des renseignements utiles, et avec un accès internet limité c'est compliqué de pouvoir les consulter et de toute façon ça force à cliquer 300 fois pour défiler et pour afficher les "replies". Or je venais de voir une extension très utile pour moi (YCS - Youtube Comment Search) qui permet de copier tous les commentaires et leurs réponses, même s'il y en a 1200. Mais voilà la présentation les rend difficiles à lire à mon goût, alors d'abord avec des Ctrl+H dans un éditeur de texte, j'ai modifié en particulier les dièses #### dans le fichier, plus une ou 2 autres modifs, et c'est 3 fois plus lisible maintenant, et avec ce beau script je pourrai donc le faire en masse sur mes fichiers de commentaires Youtube.
*
Bref merci aux inscrits, c'est RÉSOLU je pense, je retourne dans ma cave humide avec mes amis les rats et les araignées.
L'écologie oui mais laquelle? Obsolescence programmée|Biodynamie+NEF+P.Rabhi|Végé /1 (pro-paléo) /2 (reste du site nOK)|ONG (Nicolino nOK)|Etc.
Hors ligne
#15 Le 29/04/2023, à 19:46
- sputnick
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
@Hizoka, tldp.org est considéré comme une source erronée par les pros de bash.
If you are a bash beginner, some good pointers to start learning :
https://stackoverflow.com/tags/bash/info
FAQ http://mywiki.wooledge.org/BashFAQ
Guide http://mywiki.wooledge.org/BashGuide
Ref https://www.gnu.org/software/bash/manual/bash.html
quotes http://mywiki.wooledge.org/Quotes
Check your script http://www.shellcheck.net/
And avoid people recommendations saying to learn with tldp.org web site, the tldp bash guide -ABS in particular) is outdated, and in some cases just plain wrong. The [BashGuide](http://mywiki.wooledge.org/BashGuide) and the [bash-hackers' wiki](https://mywiki.wooledge.org/BashGuide/P … Debug_Mode) are far more reliable.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#16 Le 29/04/2023, à 21:50
- Hizoka
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Ah bon ?
Pourtant y a plein de bonnes choses dedans, jamais vu de problème...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#17 Le 29/04/2023, à 21:52
- sputnick
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Tu risque de passer à coté des bonnes pratiques.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#18 Le 30/04/2023, à 00:41
- sputnick
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
Par exemple, vu sur ton github:
function foo() {}
en bash, les best practices sont:
foo() {}
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#19 Le 30/04/2023, à 16:52
- Hizoka
Re : [RÉSOLU]Un script pour remplacer des caractères dans un fichier texte?
ouais, je fais ça à cause de ma coloration syntaxique de... heu je ne sais plus quel éditeur de texte...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne