加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在具有唯一分隔符的文件上使用cut in bash

发布时间:2020-12-15 21:33:48 所属栏目:安全 来源:网络整理
导读:可以用?分隔符在bash中使用吗? 这个问题是here主题的扩展.该链接目标的一种解释是使用在人类文本中找不到(或很少发现)的分隔符.假设我们选择“不签名”(?)作为分隔符.我的问题是使用cut来使用所述分隔符来拉出文件的特定列. 例如,假设我们使用?分隔符创建文
可以用?分隔符在bash中使用吗?

这个问题是here主题的扩展.该链接目标的一种解释是使用在人类文本中找不到(或很少发现)的分隔符.假设我们选择“不签名”(?)作为分隔符.我的问题是使用cut来使用所述分隔符来拉出文件的特定列.

例如,假设我们使用?分隔符创建文件.文件prac.txt可能如下所示:

$cat prac.txt
"Billy""Car"?"Red"?"Garage"?"3"
"Rob"?"Truck"?"Blue"?"Street"?"14"

以下过程会产生错误:

$cut -d'?' -f1 prac.txt  
cut: the delimiter must be a single character
Try `cut --help' for more information.

正确的输出是:

"Billy"
"Rob"

来自python的可能有用的信息:

import unicodedata
>>>unicodedata.lookup('Not sign')
u'xac'

可能有用的字符转换link.

我的猜测是-d标志使用了一些我尚未尝试的’?’表示,否则它只适用于单个ascii字符.在此先感谢您的帮助.

解决方法

在UTF-8中,“not sign”以两个字节c2 ac编码.和切割不处理这个,这可以说是一个错误.请参见unix.stackexchange上的 this discussion.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读