Des shells comme Bash et Zsh développent les caractères génériques en arguments, autant d'arguments que de motifs: $ echo *.txt 1.txt 2.txt 3.txt Mais que se passe-t-il si je veux seulement que le premier match soit retourné, pas tous les matchs? $ echo *.txt 1.txt Les solutions spécifiques au shell …
Dans l'article de Wikipedia sur les expressions régulières , il semble que [[:digit:]]= [0-9]= \d. Quelles sont les circonstances où ils ne sont pas égaux? Quelle est la différence? Après quelques recherches, je pense qu’une différence est que l’expression de la parenthèse [:expr:]dépend des paramètres régionaux.
Y at-il une différence entre ces deux. [[ $a == z* ]] et [ $a == z* ] Puis-je avoir un exemple où ils auraient des résultats différents? En outre, en quoi le travail de [[ ]]diffère- [ ]t-il?
Supposons que j'ai une structure de répertoire comme celle-ci: $ [~ / practice] ls a B c d/ Maintenant, je veux créer un répertoire tmp1dans tous les sous-répertoires de practiceet je fais ceci: $ [~ / practice] mkdir * / tmp1 mkdir: impossible de créer le répertoire `* / tmp1 …
Ce sera facile, mais si je me souviens bien, lors de l’écriture de scripts dans un shell, l’utilisation de guillemets doubles permettrait d’agrandir les variables globales et les variables. Mais dans le code suivant: #!/bin/sh echo *.sh echo "*.sh" echo '*.sh' echo $LANG echo "$LANG" echo '$LANG' J'obtiens ce résultat: …
J'ai besoin de supprimer récursivement tous les fichiers dans tous les sous-répertoires où le nom de fichier contient un nombre suivi d'un «x» suivi d'un nombre, au moins deux fois. Exemple: Je voudrais supprimer ces fichiers: 'aaa-12x123-123x12.jpg' 'aaa-12x12-123x12-12x123.jpg' Mais je ne veux PAS supprimer ces fichiers: 'aaa.jpg' 'aaa-12x12.jpg' 'aaaxaaa-123x123.jpg' 'aaaxaaa-aaaxaaa.jpg' …
Dans un système de fichiers où les noms de fichiers sont en UTF-8, j'ai un fichier avec un nom erroné; il est affiché comme D�sinstaller:, nom réel selon zsh D$'\351'sinstaller:, Latin1 pour Désinstaller, lui-même une barbarie française pour "désinstaller". Zsh ne le ferait pas correspondre [[ $file =~ '^.*$' ]]mais …
J'ai récemment rencontré un fichier dont le nom commence par le caractère «♫». Je voulais copier ce fichier, l'alimenter ffmpeget le référencer de diverses autres manières dans le terminal. En général, je complète automatiquement les noms de fichiers étranges, mais cela échoue car je ne peux même pas taper la …
J'essaie d'écrire une ifdéclaration pour tester s'il existe des fichiers correspondant à un certain modèle. S'il y a un fichier texte dans un répertoire, il doit exécuter un script donné. Mon code actuellement: if [ -f /*.txt ]; then ./script fi Veuillez donner quelques idées; Je veux seulement exécuter le …
J'ai besoin d'étendre un modèle glob (comme ../smth*/*, ou /etc/cron*/) dans une liste de fichiers, par programme. Quelle serait la meilleure façon de procéder?
J'ai cette liste de fichiers pdf dans un répertoire: c0.pdf c12.pdf c15.pdf c18.pdf c20.pdf c4.pdf c7.pdf c10.pdf c13.pdf c16.pdf c19.pdf c2.pdf c5.pdf c8.pdf c11.pdf c14.pdf c17.pdf c1.pdf c3.pdf c6.pdf c9.pdf Je veux les concaténer en utilisant ghostscript dans l'ordre numérique (similaire à ceci): gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf …
J'ai accidentellement oublié de spécifier la destination avant d'appuyer sur la touche Retour. Où, mv ./*sans spécifier de destination, déplace-t-il les fichiers et les répertoires du répertoire actuel?
Comment faire correctement une forboucle dans l'ordre inverse? for f in /var/logs/foo*.log; do bar "$f" done J'ai besoin d'une solution qui ne casse pas pour les caractères géniaux dans les noms de fichiers.
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.