Я начал играть с PowerShell некоторое время назад, чтобы отфильтровать некоторые журналы, которые создает один из моих серверов.Слияние файлов CSV с фильтрацией
Индивидуальный журнал CSV в текстовом файле, где первая строка - это информация о процессе создания. Заголовки находятся на 2-й линии, и фактические вещи находятся на 3-й. Есть около 15 свойств, но мне нужно только пару из них.
Вот что у меня работает безупречно на одном файле:
Import-csv file.txt | Select-Object -Skip 1 -Property prop1, prop2, prop3, prop4, prop5 | Export-csv result.csv -NoTypeInformation
Но, что бы я ни пытался использовать для нескольких файлов (скажем, все файлы .txt в указанной папке, поскольку журналы создаются в день и сгруппированы в папки), это не работает для меня, и я подозреваю, что это из-за другой первой строки, которую я пытаюсь пропустить таким же образом, но затем я получаю пустой объединенный CSV-файл, а только prop1 в качестве 1-го столбца
Любая помощь приветствуется, спасибо!
Это полезно, но когда я пытаюсь применить следующее: [код] (Get-ChildItem * .txt | ForEach-Object { Get-Content $ _ | Select-Object -Skip 1 -Property prop1, prop2, prop3 | ConvertFrom-Csv } | Export-Csv result.csv -NoTypeInformation), это не дает мне то, что я хочу в принципе. Конечно, я могу взять result.csv и выполнить свойство Select-Object by в следующей строке. – Rookie
Вы можете добавить свойства, необходимые для вызова 'select' в этом конвейере. Нет необходимости снова импортировать файл. – Joey
Это не работает для меня, я получаю бессмысленный CSV, когда добавляю 'Select-Object -Skip 1 -Property prop1, prop2, prop3' – Rookie