From 48e111aa0d4d30015924d3c0c495986d8dcd6e18 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 6 Aug 2015 14:29:09 +0400 Subject: [PATCH] =?UTF-8?q?fconv=20et=20fnconv:=20le=20premier=20argument?= =?UTF-8?q?=20est=20le=20fichier=20s'il=20n'est=20pas=20sp=C3=A9cifi=C3=A9?= =?UTF-8?q?=20avec=20-f?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fconv | 21 ++++++++++++++++----- fnconv | 20 ++++++++++++++++++-- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/fconv b/fconv index 0428e7b..b1c603f 100755 --- a/fconv +++ b/fconv @@ -7,7 +7,8 @@ function display_help() { uecho "$scriptname: convertir un fichier ou les fichiers d'un répertoire USAGE - $scriptname [options] -- [cmds...] + $scriptname -f FILE [cmds...] + $scriptname FILE [cmds...] Une ou plusieurs commandes peuvent être spécifiées, séparées // La commande par défaut est 'lf' @@ -24,9 +25,16 @@ OPTIONS Pour la commande conv, inverser src_enc et dest_enc, qui doivent être tous les deux spécifiés. -f, --file FILE - Spécifier le fichier ou le répertoire concerné par la conversion. Par - défaut, convertir l'entrée standard. Les options -d et --dir sont aussi - reconnus et sont des aliases de convenance + Spécifier le fichier ou le répertoire concerné par la conversion. Les + aliases -d et --dir sont aussi reconnus. + Si cette option n'est pas spécifiée, le premier argument est considéré + comme le nom du fichier ou du répertoire à convertir. Par défaut, + convertir l'entrée standard. + Si un répertoire est spécifié, tous les fichiers de ce répertoire et de + ses sous-répertoires sont recherchés de façon récursive, sans limite de + profondeur. Ensuite, chacun de ces fichiers est converti. + --show-cmd + Afficher la commande qui serait exécutée COMMANDES c, conv dest_enc [src_enc] @@ -178,7 +186,10 @@ parse_opts "${PRETTYOPTS[@]}" \ --show-cmd show_cmd=1 \ @ args -- "$@" && set -- "${args[@]}" || die "$args" -[ -n "$FILE" ] || FILE=- +if [ -z "$FILE" ]; then + FILE="${1:--}" + shift +fi [ "$FILE" == - ] && FILE=/dev/stdin if [ "$FILE" != /dev/stdin ]; then [ -e "$FILE" ] || die "$FILE: fichier introuvable" diff --git a/fnconv b/fnconv index 0a6565b..490fb17 100755 --- a/fnconv +++ b/fnconv @@ -7,7 +7,8 @@ function display_help() { uecho "$scriptname: renommer un fichier ou les fichiers d'un répertoire USAGE - $scriptname [options] [cmds...] + $scriptname -f FILE [cmds...] + $scriptname FILE [cmds...] Une ou plusieurs commandes peuvent être spécifiées, séparées // La commande par défaut est 'fixcase' @@ -21,6 +22,15 @@ OPTIONS -r, --reverse Pour la commande conv, inverser src_enc et dest_enc, qui doivent être tous les deux spécifiés. + -f, --file FILE + Spécifier le fichier ou le répertoire concerné par le renommage. Les + aliases -d et --dir sont aussi reconnus. + Si cette option n'est pas spécifiée, le premier argument est considéré + comme le nom du fichier ou du répertoire à renommer. + Si un répertoire est spécifié, le traitement est appliqué à tous les + fichiers et répertoires de façon récursive, sans limite de profondeur. + --show-cmd + Afficher la commande qui serait exécutée COMMANDES C, conv dest_enc [src_enc] @@ -194,14 +204,20 @@ CONV_FROM= CONV_TO= OPTIMIZE_CONV=1 REVERSE_CONV= +FILE= +show_cmd= parse_opts "${PRETTYOPTS[@]}" \ --help '$exit_with display_help' \ -N,--detect-always OPTIMIZE_CONV= \ -r,--reverse REVERSE_CONV=1 \ + -f:,--file:,-d:,--dir: FILE= \ --show-cmd show_cmd=1 \ @ args -- "$@" && set -- "${args[@]}" || die "$args" -FILE="${1:--}"; shift +if [ -z "$FILE" ]; then + FILE="${1:--}" + shift +fi [ "$FILE" == - ] && FILE=/dev/stdin if [ "$FILE" != /dev/stdin ]; then [ -e "$FILE" ] || die "$FILE: fichier introuvable"