Как обработать UTF-8 эмодзи в седе? - PullRequest
0 голосов
/ 17 октября 2018

Я видел много тем о экранировании и замене специального символа в SED, но ни одна из них не помогла мне.

У меня есть команда sed, которую мне нужно использовать в файле:

sed -i "s/This[^\|]\+/& (cool) /g" "file.txt"

По причине, которую я не понимаю, это относится к этому контрольному примеру:

This is my funny ? char and this | char is the char after which  i want to stop my job.

... и преобразует его в:

This is my funny ?(cool) ڠchar and this | char is the char after which  i want to stop my job.

... вместоиз:

This is my funny ? char and this | (cool) char is the char after which  i want to stop my job.

Может кто-нибудь сказать мне, как обрабатывать такого рода дела?

Примечание: файл в кодировке UTF-8, я использую Cygwin, который кодируется в UTF-8, и мойКоманда SED находится в файле ".sh", который также имеет кодировку UTF-8.

1 Ответ

0 голосов
/ 17 октября 2018

Похоже, ошибка была связана с тем, что я использовал SED на CYGWIN, так как он хорошо работал на GNU Linux.

Спасибо за ваше внимание.Я надеюсь, что эта тема может помочь другому пользователю Cygwin.

...