Extraire seulement les 10 premières lignes d'un fichier csv dans powershell

j'ai un fichier csv et je veux sortir un nouveau fichier csv, qui ne contient que les 10 premières lignes du fichier original. Jusqu'à présent j'ai seulement trouvé du code pour supprimer des lignes simples ou des lignes qui contiennent un certain mot. C'est probablement un one-liner de 15 caractères, mais je ne sais pas comment aborder cela, toute aide serait grandement apprécié. Je ne m'attends pas à ce que tu écrives du code, juste la bonne commande m'aiderait.

19
demandé sur Monacco Franze 2015-03-07 01:19:02

4 réponses

Get-Content "C:\start.csv" | select -First 10 | Out-File "C:\stop.csv"

Qu'il a fait

30
répondu Monacco Franze 2015-03-07 09:35:59
Get-Content in.csv -Head 10 > out.csv
10
répondu Swonkie 2015-03-06 22:34:47

utiliser le paramètre-TotalCount est recommandé. Surtout si vous avez un gros fichier CSV. De cette façon, vous ne lirez que les 10 premières lignes de votre fichier CSV au lieu de lire toutes les lignes, sélectionner les 10 premières lignes et les extraire.

Get-Content C:\Temp\Test.csv -TotalCount 3 | Out-File C:\Temp\Test10lines.csv

cela fonctionne à partir de Powershell 2.

7
répondu emekm 2017-11-15 00:24:18

Vous pouvez aussi utiliser

(Get-Content yourfile.csv)[0 .. 11]>outputfile.csv

assurez-vous d'inclure l'en-tête de ligne ou vous pouvez rencontrer des problèmes. Vous pouvez aussi changer les nombres pour obtenir les lignes que vous voulez. Le premier et les drapeaux de tête n'ont pas fonctionné pour moi.

1
répondu Josh Groen 2017-04-20 22:22:01