bash - UNIX/Linux shell 脚本 : Removing variant form emoji from a text

标签 bash shell unicode emoji unicode-escapes

假设您使用的是默认字符集为 UTF-8 的 Linux/UNIX shell:

$ echo $LANG
en_US.UTF-8

您有一个文本文件 emoji.txt,它以 UTF-8 编码:

$ file -i ./emoji.txt
./emoji.txt: text/plain; charset=utf-8

此文本文件包含一些表情符号和变体形式转义序列:

$ cat     ./emoji.txt
Standard ☁
Variant form ☁️
$ uni2ascii -a B -q ./emoji.txt
Standard \x2601
Variant form \x2601\xFE0F

您想要删除两个表情符号,包括变体形式字符 (\xFE0F),因此输出应为

Standard 
Variant form 

你会怎么做?

更新。这个问题不是关于如何删除每行中的最后一个单词。想象一下 emoji2.txt 包含带有许多表情符号字符的大文本;其中一些后面跟着变体形式序列。

最佳答案

使用 GNU sedbash:

  sed -E s/$'\u2601\uFE0F?'//g emoji.txt

关于bash - UNIX/Linux shell 脚本 : Removing variant form emoji from a text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63348123/

相关文章:

Python:如何读取和解析 unicode utf-8 文本文件?

java - java (NetBeans) 中表情符号的支持?

Eclipse 在重构过程中将日语变成垃圾

linux - Centos 7,未找到 ImageMagick 命令

linux - 为非交互式 shell 设置环境变量

linux - 将程序的输出日志传递给函数,同时将返回码存储在变量中

bash - 确保一次只运行一个 shell 脚本实例的快捷方式

shell - gdbserver:执行目标的shell命令

bash - 如何在不实际更改到该目录的情况下从特定目录执行命令

linux - UNIX shell 脚本在作为计划任务运行时失败