Chip, Dirkland, DrobæSphere Inc, cdirkland @ hotmail.com, usaSkip/gỡ bỏ các nhân vật phi ascii với sed
Tôi đã cố gắng sử dụng sed để thay đổi địa chỉ email trong một .csv nhưng dòng trên tiếp tục vấp ngã tôi lên, sử dụng lệnh như:
sed -i 's/[\d128-\d255]//' FILENAME
from this stackoverflow question
dường như không làm việc như tôi nhận được một lỗi 'nhân vật đối chiếu không hợp lệ'.
Lý tưởng nhất là tôi không muốn thay đổi ký tự kết hợp AE đó, tôi thích sed chỉ cần bỏ qua ngay khi tôi không cố gắng thao tác văn bản đó mà đúng hơn là địa chỉ email. Miễn là đó là AE trong đó mặc dù nó gây ra sự thay thế sed của tôi thất bại sau một dòng, xóa các ký tự và nó xử lý toàn bộ tập tin tốt.
Bất kỳ ý tưởng nào?
+1 cho 'l0'. Có một kịch bản 'sedsed.py' khác, có sẵn [ở đây] (http://aurelio.net/sedsed/). Hữu ích khi kiểm tra các vùng 'mẫu' và' giữ'. Có thể không giúp đỡ trong trường hợp này nhưng một công cụ gỡ lỗi hữu ích không kém. :) –
lệnh sed -n 'l0' thú vị, những gì nó in ra cho công ty là: Drob \ 357 \ 277 \ 275Sphere Inc – xref
và tôi vẫn không thể lấy các ví dụ trên để làm việc với nó, có lẽ là ký tự (trong đó cho thấy là một AE trong Windows LibreOffice nhưng không nơi nào khác) thực sự là một nhân vật đặc biệt nói rằng nó không thể được đại diện trong unicode? http://www.fileformat.info/info/unicode/char/fffd/index.htm – xref