Phi*_*ide 5 sed awk text-processing unicode
我有一个格式如下的文件:
?..? watch..hourglass
?? keyboard
?? eject button
Run Code Online (Sandbox Code Playgroud)
其中某些行包含两个条目。我想将包含 2 个条目的行分成 2 行,如下所示:
? watch
? hourglass
?? keyboard
?? eject button
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法来做到这一点?
我的脚本:
#!/usr/bin/env bash
wget -O output.txt http://www.unicode.org/Public/emoji/6.0/emoji-data.txt
sed -i '/^#/ d' output.txt # Remove comments
sed -i 's/.*(//' output.txt # Remove columns not needed
sed -i 's|[(),]||g' output.txt # Remove brackets around emoji
sed -i 's/\(.*[^ ]\)[ ]*\(.*\)/\2 \1/' output.txt # Move first column to last
sed -i '/^$/d' output.txt # Remove blank lines
Run Code Online (Sandbox Code Playgroud)
尝试了@RomanPerekhrest 对以下内容的回答(答案已更新):
??..?? left-right arrow..down-left arrow
??..?? right arrow curving left..left arrow curving right
?..? watch..hourglass done
?? keyboard
Run Code Online (Sandbox Code Playgroud)
它适用于手表/沙漏,但不适用于上面的(?)
更新
修复了一些表情符号后跟有variation-selector-16,导致格式错误的问题。
请参阅 @jimmij 的答案,以获得更优化的 sed 脚本!
sed
sed '/.\.\./ s/\(.\)\.\.\(\S*\)\s*\(.*\)\.\./\1\t\3\n \2\t/'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
345 次 |
最近记录: |