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

copie des fichiers sans extention ??

8 réponses
Avatar
JClaude
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'

je voudrais copier que les fichiers qui n'ont pas d'extention !

Merci de votre aide

JClaude

8 réponses

Avatar
Stephane Chazelas
2006-11-8, 17:30(+01), JClaude:
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'


Je pense que tu veux dire:
cp /usr/local/test/* /usr/local/essai

(note que ca ne copie pas tous les fichiers, ca ne copie que
ceux dont le nom ne commence pas par un ".")

je voudrais copier que les fichiers qui n'ont pas d'extention !


Tu veux dire dont le nom ne contient pas de "."? Ou qui ont une
extension vide (dont le nom se termine par ".")?


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai

Ne copiera que les non-repertoires dont le nom ne contient pas
de ".".

Suivant le shell que tu utilises, il peut y avoir plus cours.

Avec zsh (et setopt extendedglob dans le ~/.zshrc):

cp /usr/local/test/^*.* /usr/local/essai

Et pour ne pas passer les repertoires a cp

cp /usr/local/test/^*.*(^/) /usr/local/essai

Avec ksh ou avec bash avec l'option "extglob" (shopt -s
extglob):

cp /usr/local/test/!(*.*) /usr/local/essai

(ces shells n'ont pas d'equivalent pour ommettre les repertoires
toutefois).

--
Stéphane

Avatar
Stephane Chazelas
2006-11-8, 17:18(+00), Stephane Chazelas:
2006-11-8, 17:30(+01), JClaude:
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'


Je pense que tu veux dire:
cp /usr/local/test/* /usr/local/essai

(note que ca ne copie pas tous les fichiers, ca ne copie que
ceux dont le nom ne commence pas par un ".")

je voudrais copier que les fichiers qui n'ont pas d'extention !


Tu veux dire dont le nom ne contient pas de "."? Ou qui ont une
extension vide (dont le nom se termine par ".")?


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai
[...]


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai ;

--
Stéphane


Avatar
JClaude
Bonjour !

Merci pour ces réponses...

Je vais faire des essais !

"Stephane Chazelas" a écrit dans le message de
news:
2006-11-8, 17:30(+01), JClaude:
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la
copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'


Je pense que tu veux dire:
cp /usr/local/test/* /usr/local/essai

(note que ca ne copie pas tous les fichiers, ca ne copie que
ceux dont le nom ne commence pas par un ".")

je voudrais copier que les fichiers qui n'ont pas d'extention !


Tu veux dire dont le nom ne contient pas de "."? Ou qui ont une
extension vide (dont le nom se termine par ".")?


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai

Ne copiera que les non-repertoires dont le nom ne contient pas
de ".".

Suivant le shell que tu utilises, il peut y avoir plus cours.

Avec zsh (et setopt extendedglob dans le ~/.zshrc):

cp /usr/local/test/^*.* /usr/local/essai

Et pour ne pas passer les repertoires a cp

cp /usr/local/test/^*.*(^/) /usr/local/essai

Avec ksh ou avec bash avec l'option "extglob" (shopt -s
extglob):

cp /usr/local/test/!(*.*) /usr/local/essai

(ces shells n'ont pas d'equivalent pour ommettre les repertoires
toutefois).

--
Stéphane



Avatar
JClaude
Re-Bonjour !
j'ai un message indiquant qu'il ne reconnait pas l'option -o !!

pourtant dans man find -o est bien une option valide !

A+

"Stephane Chazelas" a écrit dans le message de
news:
2006-11-8, 17:30(+01), JClaude:
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la
copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'


Je pense que tu veux dire:
cp /usr/local/test/* /usr/local/essai

(note que ca ne copie pas tous les fichiers, ca ne copie que
ceux dont le nom ne commence pas par un ".")

je voudrais copier que les fichiers qui n'ont pas d'extention !


Tu veux dire dont le nom ne contient pas de "."? Ou qui ont une
extension vide (dont le nom se termine par ".")?


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai

Ne copiera que les non-repertoires dont le nom ne contient pas
de ".".

Suivant le shell que tu utilises, il peut y avoir plus cours.

Avec zsh (et setopt extendedglob dans le ~/.zshrc):

cp /usr/local/test/^*.* /usr/local/essai

Et pour ne pas passer les repertoires a cp

cp /usr/local/test/^*.*(^/) /usr/local/essai

Avec ksh ou avec bash avec l'option "extglob" (shopt -s
extglob):

cp /usr/local/test/!(*.*) /usr/local/essai

(ces shells n'ont pas d'equivalent pour ommettre les repertoires
toutefois).

--
Stéphane



Avatar
JClaude
Je suis sur AIX 5L version 5.1, avec ksh
Cela explique peut être le problème !
la commande shopt -s extglob me permettrai peut être une autre syntaxe ?
Mais la saisie de shopt est sans succès !
Merci

"Stephane Chazelas" a écrit dans le message de
news:
2006-11-8, 17:30(+01), JClaude:
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la
copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'


Je pense que tu veux dire:
cp /usr/local/test/* /usr/local/essai

(note que ca ne copie pas tous les fichiers, ca ne copie que
ceux dont le nom ne commence pas par un ".")

je voudrais copier que les fichiers qui n'ont pas d'extention !


Tu veux dire dont le nom ne contient pas de "."? Ou qui ont une
extension vide (dont le nom se termine par ".")?


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai

Ne copiera que les non-repertoires dont le nom ne contient pas
de ".".

Suivant le shell que tu utilises, il peut y avoir plus cours.

Avec zsh (et setopt extendedglob dans le ~/.zshrc):

cp /usr/local/test/^*.* /usr/local/essai

Et pour ne pas passer les repertoires a cp

cp /usr/local/test/^*.*(^/) /usr/local/essai

Avec ksh ou avec bash avec l'option "extglob" (shopt -s
extglob):

cp /usr/local/test/!(*.*) /usr/local/essai

(ces shells n'ont pas d'equivalent pour ommettre les repertoires
toutefois).

--
Stéphane



Avatar
Matthieu Moy
"JClaude" writes:

Re-Bonjour !
j'ai un message indiquant qu'il ne reconnait pas l'option -o !!


Sur usenet, on ne dit pas

J'ai un message qui dit que XXX

mais on dit :

J'ai un message qui dit : « YYY »

avec de préférence un copier-coller exact de la commande que tu as
tappé et du message d'erreur. Sinon, je ne vois pas comment on
pourrait t'aider ;-).

--
Matthieu

Avatar
Stephane Chazelas
2006-11-9, 09:57(+01), JClaude:
[...]
find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai

Ne copiera que les non-repertoires dont le nom ne contient pas
de ".".

Suivant le shell que tu utilises, il peut y avoir plus cours.

Avec zsh (et setopt extendedglob dans le ~/.zshrc):

cp /usr/local/test/^*.* /usr/local/essai

Et pour ne pas passer les repertoires a cp

cp /usr/local/test/^*.*(^/) /usr/local/essai

Avec ksh ou avec bash avec l'option "extglob" (shopt -s
extglob):

cp /usr/local/test/!(*.*) /usr/local/essai
[...]


Je suis sur AIX 5L version 5.1, avec ksh
Cela explique peut être le problème !
la commande shopt -s extglob me permettrai peut être une autre syntaxe ?
Mais la saisie de shopt est sans succès !


Merci de poster a l'endroit.

shopt est pour bash (pour qu'il emule le globbing de ksh). Avec
ksh, cp !(*.*) /dest devrait marcher meme sous AIX. Sinon,
essaie avec dtksh.

Que te dit

find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai ;

?

--
Stéphane


Avatar
JClaude
Re-Re bonjour !
La syntaxe cp /usr/local/test/!(*.*) /usr/loacl/essai fonctionne bien !!
Merci beaucoup !!

"Stephane Chazelas" a écrit dans le message de
news:
2006-11-8, 17:30(+01), JClaude:
Bonjour !

Je suis novice sur unix/linux et je cherche la syntaxe pour faire la
copie
de tous les fichiers sans extention d'un répertoire ?

j'utilise 'cp * /usr/local/test /usr/local/essai' pour copier tous les
fichiers de 'test' vers 'essai'


Je pense que tu veux dire:
cp /usr/local/test/* /usr/local/essai

(note que ca ne copie pas tous les fichiers, ca ne copie que
ceux dont le nom ne commence pas par un ".")

je voudrais copier que les fichiers qui n'ont pas d'extention !


Tu veux dire dont le nom ne contient pas de "."? Ou qui ont une
extension vide (dont le nom se termine par ".")?


find . ( -name . -o -prune ) ! -name '*.*' ! -type d
-exec cp {} /usr/local/essai

Ne copiera que les non-repertoires dont le nom ne contient pas
de ".".

Suivant le shell que tu utilises, il peut y avoir plus cours.

Avec zsh (et setopt extendedglob dans le ~/.zshrc):

cp /usr/local/test/^*.* /usr/local/essai

Et pour ne pas passer les repertoires a cp

cp /usr/local/test/^*.*(^/) /usr/local/essai

Avec ksh ou avec bash avec l'option "extglob" (shopt -s
extglob):

cp /usr/local/test/!(*.*) /usr/local/essai

(ces shells n'ont pas d'equivalent pour ommettre les repertoires
toutefois).

--
Stéphane