小编Dhr*_*jee的帖子

如何在`grep`中使用十六进制代码指定字符?

我正在使用以下命令将十六进制代码 0900(而不是?)的字符集范围 grep 到 097F(而不是?)。我如何使用十六进制代码代替 ? 和 ??

bzcat archive.bz2 | grep -v '<[?-?]*\s' | tr '[:punct:][:blank:][:digit:]' '\n' | uniq | grep -o '^[?-?]*$' | sort -f | uniq -c | sort -nr | head -50000 | awk '{print "<w f=\""$1"\">"$2"</w>"}' > hindi.xml
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

    <w f="399651">??</w>
    <w f="264423">??</w>
    <w f="213707">??</w>
    <w f="74728">??</w>
    <w f="44281">??</w>
    <w f="35125">??</w>
    <w f="26628">?</w>
    <w f="23981">??</w>
    <w f="22861">??</w> 
    ...
Run Code Online (Sandbox Code Playgroud)

我只想使用十六进制代码而不是 ? 和 ?在上面的命令中。

如果根本不可能使用十六进制代码,我可以使用 unicode 代替十六进制代码作为字符集 ('?-?') 吗?

我正在使用 Ubuntu 10.04

shell grep character-encoding unicode

36
推荐指数
3
解决办法
8万
查看次数

标签 统计

character-encoding ×1

grep ×1

shell ×1

unicode ×1