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: szopen <szop@en.szop>
Date: Fri, 25 Oct 2024 19:03:26 +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


--
szopen

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