Yanıtlar:
GNU sisteminde sed, yerel ayarınız çok baytlı karakterler kullanıyorsa ( jimmij'nin önerdiği gibi ) kullanmanız veya benzemeniz gerekir, çünkü GNU tryalnızca bayt başına bir karaktere başvurabilir. Bir ASCII yerel ayarında, aşağıdaki gibi tüm kopyaları kaldırabilirsiniz tr:
LC_ALL=C tr -s '\0-\255' <input
Yani...
echo Thhiisss iisss mmyyy nameeee|
LC_ALL=C tr -s '\0-\255'
... baskılar ...
This is my name
Ayrıca, aralıklara göre hedeflerinize başvurarak seçici olarak da yapabilirsiniz:
echo TThhiisss iisss mmyyy nameeee|
LC_ALL=C tr -s '\101-\132'
...veya...
echo TTTThhiisss iisss mmyyy nameeee|
LC_ALL=C tr -s '[:upper:]'
... hangisinin aynı şey olduğu ve her ikisinin de yazdırdığı:
Thhiisss iisss mmyyy nameeee
... veya kullanım [:punct:], [:digit:], [:lower:], [:alpha:]veya ne istiyorsunuz. Ayrıca seçimi w / -cso ...
echo 'TTTThhiisss iisss mmyyy nameeee' |
LC_ALL=C tr -cs '[:upper:]'
... baskılar ...
TTTThis is my name