【经验教训】shell read echo中的转义字符

来源:互联网 发布:全国网络统考成绩查询 编辑:程序博客网 时间:2024/04/30 10:51

    近期用shell在处理数据时,发现read命令在读取数据时会把\t替换成空格,以及行末尾的\t舍弃。查看read的help,发现-r可以保留转义字符,搜了一下有人也说可以用-r,但是我的实验结果却是即使-r也还是依旧。无奈该用awk进行的数据处理。使用\t作为数据字段分割符在数据挖掘过程中是经常用到的,以及map reduce默认的key与value的分隔符也是\t,故使用shell的read命令时还是要注意点的。

    同样,echo命令默认是不识别转义字符的,比如echo "123\t123",他会直接把123\t123打印出来,如果想让起识别,则需使用  echo -e string;考虑到对其命令的不了解,我一般在输出重要数据时使用printf;


原创粉丝点击