J'ai un fichier délimité par des tabulations. Je voudrais un script PowerShell qui compte le nombre d'onglets dans chaque ligne. Je suis venu avec ceci:Oneliner compte le nombre d'onglets dans chaque ligne d'un fichier
${C:\tabfile.txt} |% {$_} | Select-String \t | Measure-Object | fl count
il donne 3, qui est le nombre de lignes dans le fichier.
des pointeurs à ce que je fais mal? Je voudrais qu'il imprime un seul nombre pour chaque ligne dans le fichier.
+1. Belle explication pourquoi son code original n'a pas fonctionné. Probablement plus qu'une simple solution :-) (aussi je l'aurais fait mais je n'ai jamais utilisé Select-String :-)) – Joey
Je ne comprends toujours pas quand utiliser le scriptblock. J'ai aussi remarqué que les deux solutions utilisent gc au lieu de consommer le fichier avec $ {fichier.txt} est-ce juste une question de style? – JasonHorner
Lors de l'utilisation de '$ {...}', vous devez placer le chemin absolu complet entre les accolades, tandis que 'Get-Content' permet d'utiliser des chemins relatifs. En ce qui me concerne, je n'ai pas de fichiers utilisateurs dans 'C: \', donc ce serait toujours quelque chose comme '$ {C: \ Users \ me \ ...}' qui est lourd (ok, je créé un lecteur 'Home:' mais je n'aime pas les chemins absolus :-). De plus, 'Get-Content' vous donne une exception quand il ne trouve pas quelque chose, ce qui est parfois utile pour déboguer des échecs bizarres :-) – Joey