Grep sur un caractere particulier
Résolu
econdami
Messages postés
247
Date d'inscription
Statut
Membre
Dernière intervention
-
econdami Messages postés 247 Date d'inscription Statut Membre Dernière intervention -
econdami Messages postés 247 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais copier un dossier (toto) chez tous les utilisateurs d'une station
Le probleme c'est que dans le dossier /home/people de ces utilsateurs il existe des dossiers ou je ne voudrais pas copier (prenons par exemple un dossier - ou un lien symbolique- qui s'appellerait f). J'ai imagine utiliser :
for f in `ls /home/people|grep -v f`; do cp -r /toto /home/people/$f; chown -R $f /home/people/$f; done
mais dans ce cas tous les dossiers utilisateur contenants la lettre f sont egalement elimines ...
avez vous un moyen pour preciser que c'est seulement "f", ou toute autre suite de caractere (j'ai essaye "f" et 'f' et `f` mais cela ne marche pas 1)
Merci d'avance pour toute proposition
je voudrais copier un dossier (toto) chez tous les utilisateurs d'une station
Le probleme c'est que dans le dossier /home/people de ces utilsateurs il existe des dossiers ou je ne voudrais pas copier (prenons par exemple un dossier - ou un lien symbolique- qui s'appellerait f). J'ai imagine utiliser :
for f in `ls /home/people|grep -v f`; do cp -r /toto /home/people/$f; chown -R $f /home/people/$f; done
mais dans ce cas tous les dossiers utilisateur contenants la lettre f sont egalement elimines ...
avez vous un moyen pour preciser que c'est seulement "f", ou toute autre suite de caractere (j'ai essaye "f" et 'f' et `f` mais cela ne marche pas 1)
Merci d'avance pour toute proposition
A voir également:
- Grep sur un caractere particulier
- Caractère ascii - Guide
- Meilleur site de vente entre particulier - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Caractere vide - Guide
5 réponses
Salut,
Essaie comme ça :
;-))
Essaie comme ça :
for f in $(ls /home/people | egrep -v '\bf\b'); do cp -r /toto /home/people/$f; chown -R $f /home/people/$f; done
;-))
Merci jipicy, ca marche !
Maintenant pour ma culture perso, pourquoi as tu preconise un egrep plutot qu'un grep et si je comprend bien le deuxieme \b c'est pour mettre un espace vide mais le premier \bf peux tu me donner un petit mot la dessus.
Maintenant pour ma culture perso, pourquoi as tu preconise un egrep plutot qu'un grep et si je comprend bien le deuxieme \b c'est pour mettre un espace vide mais le premier \bf peux tu me donner un petit mot la dessus.
peut etre qu'en mettant /bf/b tu precises espace vide puis f puis espace vide ?
En revanche je ne vois pas pour egrep plutot que grep ?
Bon de toute facon tu m'as bien aide et c'est bien l'essentiel !
merci encore
amicalement !
En revanche je ne vois pas pour egrep plutot que grep ?
Bon de toute facon tu m'as bien aide et c'est bien l'essentiel !
merci encore
amicalement !
Re-
C'est vrai que "grep" fait autant l'affaire que "egrep", disons que c'est juste une question d'habitude (bonne ou mauvaise, je n'en sais rien), mais j'ai tendance à utiliser egrep (regex étendue) plutôt que grep (regex basique) dès que j'ai des expressions régulières à mettre en correspondance...
Quant au "\b" en début, je te laisse juge :
;-))
C'est vrai que "grep" fait autant l'affaire que "egrep", disons que c'est juste une question d'habitude (bonne ou mauvaise, je n'en sais rien), mais j'ai tendance à utiliser egrep (regex étendue) plutôt que grep (regex basique) dès que j'ai des expressions régulières à mettre en correspondance...
Quant au "\b" en début, je te laisse juge :
[tmpfs]$ ls -1 affaire effet f ff fff fou taf teuf ufo [tmpfs]$ ls * | grep -v '\bf\b' affaire effet ff fff fou taf teuf ufo [tmpfs]$ ls * | grep -v 'f\b' affaire effet fou ufo [tmpfs]$
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question