使用sed插入tab

使用sed插入tab

需求

把以下文本的3和4之间的空格换成tab。

hua$ cat 1.txt 
1 2 3 4 5 6

期望的结果

1 2 3   4 5 6    

这是sed最擅长的替换操作,最先想到的方法是:

hua$ cat 1.txt | sed -E -e 's/ /\t/3'
1 2 3t4 5 6

很遗憾,\t不能被正确解释。

看回sed的man page,也没有明确的说明如果解决。

但是以前看文档的时候记得有这么一条记录:

Bash will process escapes, such as \t, inside $' ' before passing it as an arg to sed.

试验证明,以下的写法是可以的:

hua$ cat 1.txt | sed -e $'s/ /\t/3'
1 2 3   4 5 6

--End
Mason

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 5,894评论 0 21
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 9,834评论 3 74
  • grep擅长查找,awk擅长分析(select),sed擅长批量编辑行 概述 SED的英文全称是 Stream E...
    piziyang12138阅读 4,415评论 0 3
  • grep擅长查找,awk擅长分析(select),sed擅长批量编辑行 概述 SED的英文全称是 Stream E...
    数据萌新阅读 4,733评论 0 0
  • 读《龙小百年校誌》题三首 百年龙小久名扬,沭水风清柳絮香。 桃李花开惊世界,江河卷浪动沧桑。 文牵历史移星座,锄去...
    杨春雨阅读 4,348评论 0 1