2016-04-27 67 views

回答

4

č在unicode的兩個字節長:

charinfo č 
U+010D LATIN SMALL LETTER C HACEK [Ll] 

tr將看到它,因爲每個一個字節的兩個字符。然後它將擴展第二個參數,直到所有字符被替換,因此兩個c。

你可以使用SED(可能只是GNU):

echo ača | sed 'y/č/c/' 

或Perl:

echo ača | perl -pe 'use open qw(:std :utf8);use utf8;y/č/c/' 

考慮這一點可能讓你明白髮生了什麼:

% echo abc | tr 'abc' 'de' 
dee