Разделение одного файла на несколько с помощью Powershell - PullRequest
1 голос
/ 09 декабря 2010

У меня есть файл с именем one_to_many.txt. В файле находятся данные:

a,aaa
b,bbb
c,ccc

Я хочу использовать powershell для создания 3 файлов a.txt, b.txt и c.txt

Файл a.txt содержит данные «aaa», b содержит «bbb ...

»

Я новичок в Powershell и не могу понять, как это сделать. Спасибо.

1 Ответ

4 голосов
/ 09 декабря 2010

Одно из возможных решений:

Get-Content one_to_many.txt | Foreach-Object {
  $fileName, $content = $_ -split ','
  $content | Set-Content "$fileName.txt"
}

Get-Content читает файл и возвращает строки, одну за другой.Каждая строка передается в Foreach-Object, где к ней можно получить доступ как $_.

Вам нужно разделить строку запятой, поэтому вызовите оператор -split, который возвращает в этом случае массив из 2 элементов.При присваивании $filename, $content = .. содержимое первого элемента в массиве (от -split) присваивается $filename, а остальное - `$ content.

Затем просто сохраните это содержимое в файле с помощью Set-Content

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...