Как эффективно создавать несколько команд в PowerShell - PullRequest
0 голосов
/ 11 сентября 2018

Я вижу, что глупо использовать команду get-content несколько раз, кто-нибудь знает, как сделать это более эффективным?

(Get-Content hvor_har_vi_vaeret_i_aar.html) -replace '"', '"' | set- 
content hvor_har_vi_vaeret_i_aar.html
(Get-Content hvor_har_vi_vaeret_i_aar.html) -replace 'ae', 'æ' | set-content 
hvor_har_vi_vaeret_i_aar.html
(Get-Content hvor_har_vi_vaeret_i_aar.html) -replace 'o/', 'ø' | set-content 
hvor_har_vi_vaeret_i_aar.html
(Get-Content hvor_har_vi_vaeret_i_aar.html) -replace 'aa', 'å' | set-content 
hvor_har_vi_vaeret_i_aar.html

Надеюсь, я объяснил это достаточно хорошо, если было что-то, чего вы не поняли, просто напишите, а я постараюсь уточнить.

Кстати, кто-нибудь знает, как сделать так, чтобы регистр носил смысл, например, AE = Æ, а не æ?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Другой метод, который вы можете использовать, который я лично предпочитаю, потому что он очень легко позволяет вам передавать их в качестве параметров в функцию, - это объявление двумерного массива и его цикл:

$string = 'abcdef'

$replaceArray = @(
                 @('a','1'),
                 @('b','2'),
                 @('c','3')
                )

# =============

$replaceArray | 
    ForEach-Object {
        $string = $string -replace $_[0],$_[1]
    }

Write-Output $string

123def

Это даже проще, если вы хотите удалить элементы из вашей строки, потому что вы можете сделать что-то вроде этого: 'a','b','c' | % {$string = $string -replace $_}

0 голосов
/ 11 сентября 2018

Действие замен за один раз, и вам нужно только один раз использовать Get/Set-Content:

(Get-Content hvor_har_vi_vaeret_i_aar.html) -replace '"','"' -replace 'ae','æ' -replace 'o/','ø' -replace 'aa', 'å' | Set-Content hvor_har_vi_vaeret_i_aar.html

То же самое, но с помощью backtick для разделения команды на несколько строк, чтобы сделать ее немного более читабельной:

(Get-Content hvor_har_vi_vaeret_i_aar.html) `
    -replace '"','"' `
    -replace 'ae','æ' `
    -replace 'o/','ø' `
    -replace 'aa', 'å' |
    Set-Content hvor_har_vi_vaeret_i_aar.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...