Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[zsh|sh] obtenir l'extension d'un fichier

28 réponses
Avatar
unbewusst.sein
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

8 réponses

1 2 3
Avatar
Thierry B.
--{ Jacques Foucry a plopé ceci: }--


Tu es en effet mal réveillé, le echo n'est là que pour la démo, c'est le
moyen d'inject le nom du fichier dans pipe qui suit.

sans_ext=`echo monfichier.txt | basename monfichier.txt .txt`







Excuse-moi d'être mal réveillé, mais la commande basename
n'opère que sur son ou ses arguments, et je ne vois toujours
pas pourquoi elle aurait besoin d'une injection.

--
J'aime beaucoup cette tribune patatoïde des alpages.
Avatar
patpro ~ patrick proniewski
In article <1iktwrs.1nk3woxzgljjeN%,
(Jacques Foucry) wrote:

Thierry B. wrote:

> C'est moi qui suis mal réveillé, je suppose, mais je n'arrive
> pas à comprendre à quoi sert le echo ?-)

Tu es en effet mal réveillé, le echo n'est là que pour la démo, c'est le
moyen d'inject le nom du fichier dans pipe qui suit.



pipe qui ne sert a rien lui non plus, d'ailleurs.

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
Avatar
Eric Levenez
Le 29/07/08 07:33, dans <1iktwmy.2zzgnxtenbk0N%,
« Jacques Foucry » a écrit :

patpro ~ patrick proniewski wrote:

sans_ext=`echo monfichier.txt | basename monfichier.txt .txt`







Echo et | ne servent à rien du tout.

et pour trouver l'extension ? :)



ext=`echo monfichier.txt | awk -F . '{ print $NF}'`



Là le echo sert :-)

echo $ext

Une autre question ?



Si le nom du fichier ne contient pas d'extension, ça ne marche pas.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Avatar
Thierry B.
--{ Eric Levenez a plopé ceci: }--


Si le nom du fichier ne contient pas d'extension, ça ne marche pas.



echo monfichier | awk -F . ' /./{ print $NF}'


--
Or, il sera plus difficile ama d'assumer un NON public envers un contributeur
qu'un NON envers une proposition, où les prétextes fufiens (charte, placement,
virgule mal placée,...) sont maintenant bien rodés. --{ Usenet-Fr }--
Avatar
Eric Levenez
Le 29/07/08 22:11, dans , « Thierry B. »
a écrit :

--{ Eric Levenez a plopé ceci: }--

Si le nom du fichier ne contient pas d'extension, ça ne marche pas.



echo monfichier | awk -F . ' /./{ print $NF}'



Ça pourrait marcher si on considérait qu'un fichier qui comment par un point
est une extension, comme ".profile". Mais à mon avis ce n'est pas le cas :-)

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Avatar
Thierry B.
--{ Eric Levenez a plopé ceci: }--


Ça pourrait marcher si on considérait qu'un fichier qui comment par un point
est une extension, comme ".profile". Mais à mon avis ce n'est pas le cas :-)



Ah oui, tu marques un bon point :)

echo .monfichier | awk -F . ' /../{ print $NF}'

On y est presque... Mais comment interpréter "..foo" ?

--
Tiens, *.-pipolin-.* qui revient, et qui a gardé les décorations de Noël
dans le champ "From:".


C'est la 3D en texte brut.
--{ SC, in fcol.debats }--
Avatar
Erwan David
Eric Levenez écrivait :

Le 29/07/08 22:11, dans , « Thierry B. »
a écrit :

--{ Eric Levenez a plopé ceci: }--

Si le nom du fichier ne contient pas d'extension, ça ne marche pas.



echo monfichier | awk -F . ' /./{ print $NF}'



Ça pourrait marcher si on considérait qu'un fichier qui comment par un point
est une extension, comme ".profile". Mais à mon avis ce n'est pas le cas :-)



Voilà, on en arrive au plan d'un dissert de philo : comencer par définir
les termes de l'énoncé, donc ici : qu'est-ce que "l'extension" d'un
fichier (on notera l'emploi de l'article défini qui semble indiquer
qu'un fichier me peut en avoir plusieurs).

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Erwan David
Eric Levenez écrivait :

Le 29/07/08 22:11, dans , « Thierry B. »
a écrit :

--{ Eric Levenez a plopé ceci: }--

Si le nom du fichier ne contient pas d'extension, ça ne marche pas.



echo monfichier | awk -F . ' /./{ print $NF}'



Ça pourrait marcher si on considérait qu'un fichier qui comment par un point
est une extension, comme ".profile". Mais à mon avis ce n'est pas le cas :-)



Voilà, on en arrive au plan d'une dissert de philo : comencer par définir
les termes de l'énoncé, donc ici : qu'est-ce que "l'extension" d'un
fichier (on notera l'emploi de l'article défini qui semble indiquer
qu'un fichier me peut en avoir plusieurs).

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
1 2 3