GNU sed (Windows için) Unicode ile başa çıkabilir mi? Öyleyse, bir kod sayfası / yerel sorun veya anahtar mı?


10

GNU SED'i birkaç yıldır kullanıyorum. Bazen beni biraz döndürüyor, ama iyi bir iş çıkarıyor ... tek baytlık char setleri için!
Şimdi ve sonra GNU SED referanslarının Unicode farkında olduğunu fark ettim, ancak bunun en yakın gördüğüm "ikili" modu .. ve ikili Unicode değil.
GSED, Unicode metin dosyasını CodePoint çözünürlüğünde işleyebilir ve özellikle de \ r \ n (Windows) ... yapabilirse, UTF-8, UTF-16 veya neyi bekler mi? ve SED kodlamayı nasıl algılar?


1
Genellikle unicode \ uXXXX seçeneğiyle belirtilir. Bu japanease adamın derleme sky.geocities.jp/hp_gabo200x/room_tool.html
Mikhail

Yanıtlar:


1

Sed hakkında bir ton bilmiyorum, ama bazı sert Googling sonra LANG ortam değişkeni aracılığıyla çeşitli kod sayfaları için destek var gibi görünüyor. UTF-8'in aslında LANG'ın yokluğunda varsayılan olduğuna inanıyorum. Windows bağlantı noktasının nasıl kurulduğunu bilmiyorum. Sed'in giriş akışında hiçbir algılama işlemi gerçekleştirmediğinden güçlü bir şüphem var.

Kaynaklar: /programming/67410/why-does-sed-fail-with-international-characters-and-how-to-fix http://omgili.com/mailinglist/cygwin/cygwin/com /20100520123926GA1432onderneming10xs4allnl.html

Burada belirtildiği gibi kaçış karakterlerini de deneyebilirsiniz: http://forums.whirlpool.net.au/forum-replies-archive.cfm/841095.html Bu çok hantal görünüyor.


@ Mathew: Teşekkürler. Sorunun SED.exe kendisiyle yalan olabileceğini görünmek başlıyor ancak Windows bu şekilde oluyor gelmez onun cmd.exe konsolda çok iyi kod sayfaları işlemek. Belki PowerShell'de çalışır, ancak oraya gitmem gerekirse, Python'a odaklanmayı tercih ederim. Görebildiğim kadarıyla, Windows'un kendi gururu ve sevinci, UTF-16 (kod sayfası 1200, msdn.microsoft.com/en-us/library/dd317756%28VS.85%29.aspx ) yalnızca yönetilen uygulamalar için kullanılabilir , bu ne anlama geliyor, ama kesinlikle konsolda çalışmıyor .. UTF-8 ve geri dönüştürmek? Olmaz! Python buraya geliyorum. (veya 'Nix ve Bash)
Peter.O

Bana uyar. Cmd.exe'nin soruna nasıl neden olduğunu ve Python'un (Python'un tanınmış sihirli güçlerinin yanı sıra ( xkcd.com/353 )) nasıl çözdüğünü kafam karıştı , ama vagerleri anlıyormuş gibi davranmayacağım cmd.exe dosyasının açıklaması. Sana iyi şanslar!
Vanessa Phipps

@fred: Oku: .NET.
Merhaba71

2
Sorunu çözdüm ... MS'yi yaklaşık 6 ay önce düşürdüm ve şimdi Ubuntu'yu kullanıyorum ... İpek kadar pürüzsüz ... (ve geriye bakmıyorum ...
Peter.O
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.