Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Czyszczenie diakrytyków

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Czyszczenie diakrytyków
From: PureNick <ibozaur@CTRL+X@tlen.pl>
Date: Fri, 25 Oct 2024 19:47:11 +0200
> On 25.10.2024 10:35, PureNick wrote:
>> Witam grupowiczów
>> 
>> Szukam programiku do konwersji tekstu w taki sposób, żeby
>> wszystkie znaki z polskimi diakrytykami zamienić na ASCII.
>> Kilkanaście lat temu używałem programu o nazwie Zobačik,
>> ale niestety zgubiłem instalkę, a w sieci nie mogę go znaleźć :(
>> Szkoda, bo był genialny w swojej prostocie: siedział sobie cichutko
>> w zasobniku systemowym (tzw. trayu) i po skopiowaniu tekstu do schowka
>> konwersja odbywała się po kliknięciu w ikonkę (chyba można było
>> nawet zdefiniować skrót klawiszowy i wtedy było jeszcze wygodniej)
>> i na koniec miałem w schowku "oczyszczony" tekst.
>> 
>> Nawet nie wiem czy ten Zobačik działałby na współczesnych Windowsach,
>> ale znalazłem coś niemal równie wygodnego i... polskiego! wReplace:
>> https://www.sharktime.com/en_wReplace.html
>> Nie wiem czy ktokolwiek ma takie potrzeby jak tutaj opisałem,
>> ale może trafi się jakiś maniak :)

> Stwórz plik convert.ps1 i wklej tam:

> if ($args.Count -ne 2) {
>      Write-Host "Użycie: .\convert.ps1 <plik_wejsciowy> <plik_wyjsciowy>"
>      exit
> }

> $inputFile = $args[0]
> $outputFile = $args[1]

> if (-not (Test-Path -Path $inputFile)) {
>      Write-Host "Błąd: Plik wejściowy '$inputFile' nie istnieje."
>      exit
> }

> $content = Get-Content -Path $inputFile -Raw

> $content = $content -replace 'ą', 'a' -replace 'ć', 'c' -replace 'ę', 'e' `
>                      -replace 'ł', 'l' -replace 'ń', 'n' -replace 'ó', 'o' `
>                      -replace 'ś', 's' -replace 'ź', 'z' -replace 'ż', 'z' `
>                      -replace 'Ą', 'A' -replace 'Ć', 'C' -replace 'Ę', 'E' `
>                      -replace 'Ł', 'L' -replace 'Ń', 'N' -replace 'Ó', 'O' `
>                      -replace 'Ś', 'S' -replace 'Ź', 'Z' -replace 'Ż', 'Z'

> Set-Content -Path $outputFile -Value $content



> I użycie:

> convert.ps1 plik_wejsciowy.txt plik_wynikowy.txt


> W linuksie jeszcze łatwiej, w shellu:

> sed 'y/ąćęłńóśźżĄĆĘŁŃÓŚŹŻ/acelnoszzACELNOSZZ/' plik_wejsciowy.txt >
> plik_wynikowy.txt

Dzięki, to pewnie instrukcja do wykorzystania PowerShella,
tylko gdzie podać to polecenie
"convert.ps1 plik_wejsciowy.txt plik_wynikowy.txt"
?

-- 
~~PP~~SF~~

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>