Длина строк (количество слов в строке), как и пунктуация, действительно автором темы не были оговорены. А так можно подбросить решение в "функциональном" стиле.
Код:

$text = @'
два один четыре три пять
это а длинная просто строка тестовая
'@
$text | ConvertFrom-Csv -Delimiter ' ' -Header (($arr =
1..($text.Split("`n") | Sort-Object Length -Bottom 1 | Measure-Object -Word).Words
)) | Select-Object -Property ([String[]]$arr.ForEach{$_ + ($_ % 2 -eq 0 ? -1 : 1)}) |
ConvertTo-Csv -Delimiter ' ' -UseQuotes 0 | Select-Object -Skip 1
Что касается скорости и текстовых файлов (больших в частности), лучше воспользоваться SQLite.