pour un fichier "example.ext" je sais comment obtenir le nom du fichier
sans extension:
file="example.ext"
echo ${file:r}
mais comment, au "contraire", n'obtenir que l'extension ?
but de la manip :
convertir "example.ext" en "example_080727_145733.ext"
la partie "_080727_145733" étant obtenue par :
mtime=`stat -f "%m" /Users/yt/Desktop/ssh-scp/ssh_connect.zsh`
mtime_str=`date -r ${mtime} +"_%y%m%d_%H%M%S"`
il faut donc que j'ajoute ce "mtime_str" entre "example" et ".ext"
c'est pour faire un move...
--
Une Bévue
In article <1ikqsy1.1pxq60a133vi0N%, (Une Bévue) wrote:
Une Bévue wrote:
> mais comment, au "contraire", n'obtenir que l'extension ?
soit : file="/Users/yt/Desktop/ssh-scp/ssh_connect.zsh" sans_extension=${file:r} extension=${file#$sans_extension}
ou :
extension=${file##*.}
patpro
-- A vendre : KVM IP 16 ports APC http://patpro.net/blog/index.php/2008/01/12/133
unbewusst.sein
patpro ~ patrick proniewski wrote:
extension=${file##*.}
effectivement mais j'ai besoin de "sans_extension" d'ailleurs le : sans_extension=${file:r} ne marche pas avec sh (je pense que, pour être "linux compatible", je dois utiliser sh, que je ne connais pas, plutôt que zsh)
je cherche une solution avec le - de variables intermédiaires possible...
par exemple, je n'ai pas trouvé le moyen de formatter directement mtime dans mon appel à stat...
et un pipe : mtime_str=`stat -f "%m" ${file} | date -r +"_%y%m%d_%H%M%S"`
me retourne le 1ier janvier 1970...
-- Une Bévue
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> wrote:
extension=${file##*.}
effectivement mais j'ai besoin de "sans_extension"
d'ailleurs le :
sans_extension=${file:r}
ne marche pas avec sh (je pense que, pour être "linux compatible", je
dois utiliser sh, que je ne connais pas, plutôt que zsh)
effectivement mais j'ai besoin de "sans_extension" d'ailleurs le : sans_extension=${file:r} ne marche pas avec sh (je pense que, pour être "linux compatible", je dois utiliser sh, que je ne connais pas, plutôt que zsh)
Après, il faut regarder tous les cas particuliers pour traiter les caractères spéciaux des chaînes. Le shell n'est pas fait pour cela. Le mieux étant encore Perl pour faire ce que tu veux.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 27/07/08 15:49, dans
<1ikqu34.1jzuafb1v5dnupN%unbewusst.sein@weltanschauung.com.invalid>, « Une
Bévue » <unbewusst.sein@weltanschauung.com.invalid> a écrit :
par exemple, je n'ai pas trouvé le moyen de formatter directement mtime
dans mon appel à stat...
et un pipe :
mtime_str=`stat -f "%m" ${file} | date -r +"_%y%m%d_%H%M%S"`
me retourne le 1ier janvier 1970...
Le -r de date attend un argument que tu ne lui passes pas, genre :
date -r 1216233193 "+_%y%m%d_%H%M%S"
Il faut donc que le "stat" soit en argument du "date", par exemple :
Après, il faut regarder tous les cas particuliers pour traiter les
caractères spéciaux des chaînes. Le shell n'est pas fait pour cela.
Le mieux étant encore Perl pour faire ce que tu veux.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Après, il faut regarder tous les cas particuliers pour traiter les caractères spéciaux des chaînes. Le shell n'est pas fait pour cela. Le mieux étant encore Perl pour faire ce que tu veux.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
unbewusst.sein
Eric Levenez wrote:
Le -r de date attend un argument que tu ne lui passes pas, genre :
date -r 1216233193 "+_%y%m%d_%H%M%S"
ouais, c'est ce que j'avais intuité en essayant de mettre le -r à la fin des arguments, mais date n'en veut pas ainsi...
Il faut donc que le "stat" soit en argument du "date", par exemple :
pourquoi mets-tu la commande date entre quotes ? mtime_str=`date -r `stat -f "%m" $file` "+_%y%m%d_%H%M%S"` c'est pas bon ?
Après, il faut regarder tous les cas particuliers pour traiter les caractères spéciaux des chaînes. Le shell n'est pas fait pour cela. Le mieux étant encore Perl pour faire ce que tu veux.
oui, OK, chez moi, en tout cas, je n'ai pas de caractères spéciaux dans les chaines relatives aux pathes...
-- Une Bévue
Eric Levenez <usenet@levenez.com> wrote:
Le -r de date attend un argument que tu ne lui passes pas, genre :
date -r 1216233193 "+_%y%m%d_%H%M%S"
ouais, c'est ce que j'avais intuité en essayant de mettre le -r à la fin
des arguments, mais date n'en veut pas ainsi...
Il faut donc que le "stat" soit en argument du "date", par exemple :
pourquoi mets-tu la commande date entre quotes ?
mtime_str=`date -r `stat -f "%m" $file` "+_%y%m%d_%H%M%S"`
c'est pas bon ?
Après, il faut regarder tous les cas particuliers pour traiter les
caractères spéciaux des chaînes. Le shell n'est pas fait pour cela.
Le mieux étant encore Perl pour faire ce que tu veux.
oui, OK, chez moi, en tout cas, je n'ai pas de caractères spéciaux dans
les chaines relatives aux pathes...
pourquoi mets-tu la commande date entre quotes ? mtime_str=`date -r `stat -f "%m" $file` "+_%y%m%d_%H%M%S"` c'est pas bon ?
Après, il faut regarder tous les cas particuliers pour traiter les caractères spéciaux des chaînes. Le shell n'est pas fait pour cela. Le mieux étant encore Perl pour faire ce que tu veux.
oui, OK, chez moi, en tout cas, je n'ai pas de caractères spéciaux dans les chaines relatives aux pathes...
-- Une Bévue
patpro ~ patrick proniewski
In article <1ikqu34.1jzuafb1v5dnupN%, (Une Bévue) wrote:
patpro ~ patrick proniewski wrote:
> extension=${file##*.}
effectivement mais j'ai besoin de "sans_extension" d'ailleurs le : sans_extension=${file:r} ne marche pas avec sh (je pense que, pour être "linux compatible", je dois utiliser sh, que je ne connais pas, plutôt que zsh)
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus qu'un avatar de bash.
je cherche une solution avec le - de variables intermédiaires possible...
par exemple, je n'ai pas trouvé le moyen de formatter directement mtime dans mon appel à stat...
man stat. Sur Mac OS X 10.5 et FreeBSD c'est :
stat -f "%Sm" -t "_%y%m%d_%H%M%S" ton_fichier
Sur linux c'est autrement.
patpro
-- A vendre : KVM IP 16 ports APC http://patpro.net/blog/index.php/2008/01/12/133
In article
<1ikqu34.1jzuafb1v5dnupN%unbewusst.sein@weltanschauung.com.invalid>,
unbewusst.sein@weltanschauung.com.invalid (Une Bévue) wrote:
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> wrote:
> extension=${file##*.}
effectivement mais j'ai besoin de "sans_extension"
d'ailleurs le :
sans_extension=${file:r}
ne marche pas avec sh (je pense que, pour être "linux compatible", je
dois utiliser sh, que je ne connais pas, plutôt que zsh)
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus
qu'un avatar de bash.
In article <1ikqu34.1jzuafb1v5dnupN%, (Une Bévue) wrote:
patpro ~ patrick proniewski wrote:
> extension=${file##*.}
effectivement mais j'ai besoin de "sans_extension" d'ailleurs le : sans_extension=${file:r} ne marche pas avec sh (je pense que, pour être "linux compatible", je dois utiliser sh, que je ne connais pas, plutôt que zsh)
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus qu'un avatar de bash.
je cherche une solution avec le - de variables intermédiaires possible...
par exemple, je n'ai pas trouvé le moyen de formatter directement mtime dans mon appel à stat...
man stat. Sur Mac OS X 10.5 et FreeBSD c'est :
stat -f "%Sm" -t "_%y%m%d_%H%M%S" ton_fichier
Sur linux c'est autrement.
patpro
-- A vendre : KVM IP 16 ports APC http://patpro.net/blog/index.php/2008/01/12/133
unbewusst.sein
patpro ~ patrick proniewski wrote:
> d'ailleurs le : > sans_extension=${file:r} > ne marche pas avec sh (je pense que, pour être "linux compatible", je > dois utiliser sh, que je ne connais pas, plutôt que zsh)
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus qu'un avatar de bash.
marchera pas sous linux, date ne fonctionne vraiment pas pareil.
bon, quelqu'un d'autre fera l'adaptation à linux.
> > par exemple, je n'ai pas trouvé le moyen de formatter directement mtime > dans mon appel à stat...
man stat. Sur Mac OS X 10.5 et FreeBSD c'est :
stat -f "%Sm" -t "_%y%m%d_%H%M%S" ton_fichier
ben j'ai ouvert le man stat (BSD May 8, 2003) je n'y trouve pas le -t...
et chez moi (10.4.11) la commande stat ignore, silencieusement, -t "_%y%m%d_%H%M%S" et me retourne les secondes since epoch...
-- Une Bévue
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> wrote:
> d'ailleurs le :
> sans_extension=${file:r}
> ne marche pas avec sh (je pense que, pour être "linux compatible", je
> dois utiliser sh, que je ne connais pas, plutôt que zsh)
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus
qu'un avatar de bash.
> d'ailleurs le : > sans_extension=${file:r} > ne marche pas avec sh (je pense que, pour être "linux compatible", je > dois utiliser sh, que je ne connais pas, plutôt que zsh)
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus qu'un avatar de bash.
Après, il faut regarder tous les cas particuliers pour traiter les caractères spéciaux des chaînes. Le shell n'est pas fait pour cela. Le mieux étant encore Perl pour faire ce que tu veux.
oui, OK, chez moi, en tout cas, je n'ai pas de caractères spéciaux dans les chaines relatives aux pathes...
C'est ce que l'on pense, et puis un jour il y a un blanc, et là on efface tout le disque dur. Demande à Apple lors d'une célèbre mise à jour...
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 27/07/08 17:19, dans
<1ikqya8.1lvb5aiieztdiN%unbewusst.sein@weltanschauung.com.invalid>, « Une
Bévue » <unbewusst.sein@weltanschauung.com.invalid> a écrit :
Après, il faut regarder tous les cas particuliers pour traiter les
caractères spéciaux des chaînes. Le shell n'est pas fait pour cela.
Le mieux étant encore Perl pour faire ce que tu veux.
oui, OK, chez moi, en tout cas, je n'ai pas de caractères spéciaux dans
les chaines relatives aux pathes...
C'est ce que l'on pense, et puis un jour il y a un blanc, et là on efface
tout le disque dur. Demande à Apple lors d'une célèbre mise à jour...
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Après, il faut regarder tous les cas particuliers pour traiter les caractères spéciaux des chaînes. Le shell n'est pas fait pour cela. Le mieux étant encore Perl pour faire ce que tu veux.
oui, OK, chez moi, en tout cas, je n'ai pas de caractères spéciaux dans les chaines relatives aux pathes...
C'est ce que l'on pense, et puis un jour il y a un blanc, et là on efface tout le disque dur. Demande à Apple lors d'une célèbre mise à jour...
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Eric Levenez
Le 27/07/08 18:03, dans , « patpro ~ patrick proniewski » a écrit :
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus qu'un avatar de bash.
Sh doit être un shell de type Bourne, c'est tout. Si le système est Posix, le shell doit être conforme à la norme.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 27/07/08 18:03, dans <patpro-3C4A97.18034327072008@news-1.proxad.net>,
« patpro ~ patrick proniewski » <patpro@boleskine.patpro.net> a écrit :
en même temps, sous linux comme sous pas mal d'autres OS, sh n'est plus
qu'un avatar de bash.
Sh doit être un shell de type Bourne, c'est tout. Si le système est Posix,
le shell doit être conforme à la norme.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.