Powershell: изменение текста - PullRequest
0 голосов
/ 20 октября 2010

хорошо, я сдаюсь!почему это не работает?Я просто пытаюсь перебрать CSV-файл и заменить любое значение в n-м столбце некоторым значением.

$source = "C:\blah.csv"

(gc $source) | foreach{ $_.Split(',')[10] = 'something'} | sc $source

1 Ответ

0 голосов
/ 20 октября 2010

По сути, вы пытаетесь что-то вроде этого:

$s = 'a,b,c,d,e'
$s.Split(',')[4] = 'something'
$s

Это не сработает, потому что вы не назначаете 'что-то' какой-либо переменной.

Я бы либо прочитал файл как csv (через Import-CSV), либо (если он действительно прост), использовал бы регулярные выражения:

$s = 'c,d,e', 'c,d,x', 'z,f,d'
$s | % { $_ -replace '(?<=([^,]*,){2}).*','something'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...