Question Get-Content

Plus d'informations
il y a 15 ans 9 mois #6975 par Arthur
Get-Content a été créé par Arthur
Bonjour,
Récemment j'ai écris un script permettant de trier un log.Et pendant que j'écrivais le script je me suis aperçu d'un paramètre que je considère un peu comme le saint Graal ( à condition qu'il marche :P ) ce paramètre est \"-filter\" de Get-Content.

-Filter <string>
Spécifie un filtre dans le format ou le langage du fournisseur. La valeur de ce paramètre qualifie le paramètre
Path. La syntaxe du filtre, notamment l'utilisation de caractères génériques, dépend du fournisseur. Les filtr
es sont plus efficaces que les autres paramètres, car le fournisseur les applique lors de la récupération des o
bjets, plutôt que de laisser le soin à Windows PowerShell de filtrer les objets une fois qu'ils ont été récupér
és.



ce qui m'intéresse est :

car le fournisseur les applique lors de la récupération des objets, plutôt que de laisser le soin à Windows PowerShell de filtrer les objets une fois qu'ils ont été récupérés


Car comme beaucoup d'autres mes fichiers de log sont ÉNORMES et le fait de pouvoir les trier lors de la récupération raccourcirait énormément l'exécution du script.
Mais seulement voilà après quelque recherches sur internet je n'ai rien trouvé.
(en tous cas aucun exemple avec un \"Get-Content\" -filter)

J'ai moi même essayé d'utiliser cette fonction sans succès.
voici ce que j'ai fait :

[code:1]param([string]$Date,[string]$Fichier)
$filtre_cmd = \"{where { $Date -match $_ } }\"
Get-Content $Fichier -Filter $filtre_cmd
[/code:1]

Je voulais donc savoir si quelqun avait déjà utilisé ce paramètre avec un Get-Content , même si je pense que c'est impossible ( ou pas très efficace), ce serait bête de passer à coté. B)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #6980 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Get-Content
Salut,
ce paramètre attend une string pas un scriptblock, l'indication du type du paramètre est importante.

Comme dit dans la doc la notion de filtre est propre au provider , pour le FileSystem ce ne peut être que les jokers (*, ?).
Par défaut il n'y a que le provider FileSystem qui implémente cette capacité (filter), ton approche ne peut pas fonctionner sur le contenu du fichier :
[code:1]
gc -path *.ps1 -filter \"m*\"
#equivalent à
gc -path m*.ps1
[/code:1]
Reste que l'usage de ce paramètre n'est pas évident/correctement documenté.

Pour ton besoin j'utiliserais plutot Select-String.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #6981 par Arthur
Réponse de Arthur sur le sujet Re:Get-Content
je me disais que c'était trop beau :P mais je voulais juste en être sur à 100%

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.043 secondes
Propulsé par Kunena