linux 文本中的不可见字符和处理
同事提供了一个接口,我通过curl调用,然后将返回结果写入到文件,然后用grep和sed处理这个文件。用浏览器和curl打开的时候,都是正常的,返回的都是
inetis_p1,masterpool;inetis_p2,masterpool;inetis_q1,masterpool;inetis_q2,masterpool;inetis_t1,masterpool;inetis_t2,masterpool;
但写入文件之后,用grep和sed处理的时候,总是说这是一个二进制文件
[root@jiankong script]# grep master /var/tmp/qiehuan145.txt
匹配到二进制文件 /var/tmp/qiehuan145.txt
很奇怪,用vim打开之后,发现是这样的
inetis_p1,masterpool^@^@^@^@^@^@;inetis_p2,masterpool^@^@^@^@^@^@;inetis_q1,masterpool^@^@^@^@^@^@;inetis_q2,masterpool^@^@^@^@^@^@;inetis_t1,masterpool^@^@^@^@^@^@;inetis_t2,masterpool^@^@^@^@^@^@;
里面多了很多的不可见的字符^@
用cat -A也能看到
[root@jiankong script]# cat -A /var/tmp/qiehuan145.txt
inetis_p1,masterpool^@^@^@^@^@^@;inetis_p2,masterpool^@^@^@^@^@^@;inetis_q1,masterpool^@^@^@^@^@^@;inetis_q2,masterpool^@^@^@^@^@^@;inetis_t1,masterpool^@^@^@^@^@^@;inetis_t2,masterpool^@^@^@^@^@^@;$
像这种不可见字符,用printf可以输出到文件中,比如:
printf 'test\011\011\011I am testing\014\010\012more testing' > /tmp/test.txt
如果用cat查看
[root@jiankong script]# cat /tmp/test.txt
test I am testing
more testing[root@jiankong script]#
如果用cat -A查看
[root@jiankong script]# cat -A /tmp/test.txt
test^I^I^II am testing^L^H$
more testing[root@jiankong script]#
现在说一下我是怎么解决的
cat -A /var/tmp/qiehuan145.txt |sed 's/[\^@]//g'
先用cat -A读取,然后用sed替换,不过需要注意到是^需要转义
转载于:https://blog.51cto.com/xiaosu/1331220
linux 文本中的不可见字符和处理相关推荐
- JS实现文本中查找并替换字符
JS实现文本中查找并替换字符 效果图: 代码如下,复制即可使用: <!DOCTYPE html><html> <head><style type=" ...
- Excel 2010 VBA 入门 047 判断某文本中是否包含指定字符(Instr)
示例 如图所示,该表为某公司采购清单.由于在记录时并未标记供应商来源地,只能通过E列供应商名称中寻找.现需要筛选出所有上海的供应商采购记录,该如何用VBA实现? 商品编码 入库日期 部门 业务员 供应 ...
- 使用SQL除掉文本中特殊的ascll字符比如Enter,Tab,空格键
在将数据库中的数据导出到Excel中时,如果文本中含有tab键,enter键,空格键,但是放在datatable中或者在datagridview中显示时也无法看出异常. 但是将数据导出到Excel或者 ...
- 如何解决linux标准输出中带颜色的字符
带颜色的字符本身的编码是包含颜色码的,这一点往往不会有太多的影响,可一旦被他影响了,那就是掉入了一个大坑里. 所幸的是sed可以用来去除字符中的颜色代码 sed remove color codes ...
- 帮我写一段dart代码,目的是将字符串里的windows、macos、linux系统中的文件名保留字符替换成中文全角字符。使最后返回的字符串可以用于windows、macos、linux的文件名...
String replaceSpecialChar(String str) {str = str.replaceAll("/", "/");str = str. ...
- 在线文本中插入符号工具
在线文本中插入符号工具 在线文本中插入符号工具 工具能够在文本中任意两个字符之间都插入指定的符号,非常简单就可以完成绚丽个性的文本段落. https://tooltt.com/txt-symbol/
- window、linux、mac 文件路径禁止字符, 路径长度【全网总结】
参考: https://9to5answer.com/what-characters-are-forbidden-in-windows-and-linux-directory-names https: ...
- linux文件编码无法修改,在Linux系统中修改文本的字符编码的方法
正如我们所知道的那样,电脑只能够处理低级的二进制值,并不能直接处理字符.当一个文本文件被存储时,文件中的每一个字符都被映射成二进制值,实际存储在硬盘中的正是这些"二进制值".之后当 ...
- linux中将文本中的单词换掉的指令_从零开始学Linux运维|19.文本处理相关命令(2)...
1.tr tr用于替换文本文件中的字符,格式为"tr [要替换的字符] [替换后的字符]" tr不能用于替换完整字符串,只能替换对应的字符 将小写都替换成大写"cat t ...
最新文章
- centos中python2.7被覆盖,yum,python重新安装
- Linux之自动化部署
- js操作完的数值赋回html元素,JS的学习
- Quartus和ISErom文件格式
- 数组及字符串相关知识
- 物理竞赛得奖学计算机,物理竞赛林紫琪带你探索清华学堂计算机科学实验班”(姚班)...
- 华为手机30s桌面循环滑动_华为发飙了!麒麟820+双模5G,从2699元跌至2499元,超出消费者预期...
- L3-020 至多删三个字符 [DP]
- sqlite3的基本操作
- 从文件系统迁移到ASM上
- MySQL · myrocks · 事务锁分析
- pic12f1823单片机入门_PIC单片机C语言入门实例
- Selenium打开IE浏览器方法以及报错处理
- xp系统计算机蓝屏,Xp系统出现蓝屏代码 0x0000007b解决方法
- 6.0系统xposed框架安装流程
- 神经内分泌肿瘤如何分级,神经系统分级调节概念
- ⨯ Get “https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.
- [20190718]12c rman新特性 表恢复.txt
- Python3+Scrapy通过代理爬取携程酒店数据
- B站上的各类学习资源