2012-12-18 125 views

回答

2
$ iconv -f utf-8 -t ascii//translit <<< 'ń -> n, Ą -> A, Ó -> O, Ć -> Ć, ę -> e' 
n -> n, A -> A, O -> O, C -> C, e -> e 

$ iconv -f utf-8 -t ascii//translit <<< 'Kości zostały rzucone i żaden żywy człowien nie ujrzał już ćmy' 
Kosci zostaly rzucone i zaden zywy czlowien nie ujrzal juz cmy 
+0

但我想我需要安裝iconv,對不對? – marverix

+1

當然。但它可用於任何可能遇到的系統。 –

+0

哇,這真是太棒了!謝謝! – marverix

-1

您可以運行一個sed,awk中,Perl,Python和PHP等編程並將輸出捕獲到Bash變量中。

0

那麼,你會認爲tr將是完美的:

echo ńę | tr abcdefghijklmnopqrstńĄÓĆę abcdefghijklmnopqrstnAOCę

不適合我的工作,雖然。

+0

這是因爲TR做逐字節替換,而不是性格明智更換。 –

0

好吧,我發現它:

echo "Kości zostały rzucone i żaden żywy człowien nie ujrzał już ćmy" | sed \ 
-e 's/ą/a/g' \ 
-e 's/ć/c/g' \ 
-e 's/ę/e/g' \ 
-e 's/ł/l/g' \ 
-e 's/ń/n/g' \ 
-e 's/ó/o/g' \ 
-e 's/ś/s/g' \ 
-e 's/[żź]/z/g' \ 
\ 
-e 's/Ą/Ą/g' \ 
-e 's/Ć/C/g' \ 
-e 's/Ę/E/g' \ 
-e 's/Ł/L/g' \ 
-e 's/Ń/N/g' \ 
-e 's/Ó/O/g' \ 
-e 's/Ś/S/g' \ 
-e 's/[ŻŹ]/Z/g' \ 
\ 
+0

如果你打算做多個單字符替換,那麼你可能想看看地圖運算符('y')。 –

+0

不,我會用你的解決方案:) – marverix