URL: https://linuxfr.org/forums/programmation-shell/posts/tri-de-fichiers-et-expressions-rationnelles Title: Tri de fichiers et expressions rationnelles Authors: RobertRyan Date: 2005年08月24日T14:29:35+02:00 Tags: Score: 0 Bonjour à tous. Je suis en train d'écrire un script en Bash qui traite des fichiers. 2 problèmes se posent à moi: >> premièrement, parmi les fichiers se trouvant dans un répertoire, je dois extraire le nom du dernier fichier dans l'ordre alphabétique croissant. Je crois qu'il faut se servir de ls, mais je n'y suis pas arrivé. Enfin, je suis tombé sur la commande ls | cut -f 1 | tail -1 , mais c'est un peu du bricolage et je ne la comprends pas trop. Si vous aviez une solution plus élégante... >> deuxièmement, il est question d'expressions rationnelles. Les fichiers à traiter ont un nom de ce type : [chaîne de caractères][3 chiffres].extension exemple : linux012.org blablabla123.rpm La chaîne de caractères comporte un nombre n de caractères, et uniquement des lettres. Je voudrais enlever la chaîne de caractères et l'extension du nom des fichiers, pour extraire uniquement les chiffres. En clair, avec linux012.org, j'obtiendrai 012. Je sais comment faire pour retirer l'extension. C'est la chaîne de caractères qui me pose problème. Je crois qu'il faut faire un truc du genre $(nom_fichier#*[a-z]}, mais ça n'enlève que la première lettre. >> bonus: comment fait-on pour extraire plusieurs motifs en une seule ligne? Exemple, j'ai un fichier nprénom.doc. Comment faire pour obtenir prénom sans faire fichier=nprénom.doc a=${fichier%.*} puis prénom=${a#[a-z]} mais en une seule ligne? Merci bien pour vos réponses.

AltStyle によって変換されたページ (->オリジナル) /