【问题标题】:Using sed to insert TABs使用 sed 插入 TAB
【发布时间】:2011-03-04 07:34:01
【问题描述】:

我使用这个命令:

sed -i "10 i \t\t\ttime.sleep(0.1) " /home/test_file

在第 10 行插入一行:<TAB><TAB><TAB>sleep(0.1)

但我得到了

t<TAB><TAB>sleep(0.1)...

你能告诉我如何得到这个结果吗? 谢谢

附言。我在一个可执行的 bash 脚本中使用这个命令。

【问题讨论】:

  • 如果darklion 解决了您的问题,请点击左侧空白处的空心复选标记接受他们的回答。它会变成绿色,表示他的回答对解决您的问题最有帮助。他(和你)也将获得一些声望点奖励。 Stack Overflow 上不习惯编辑标题以表明问题已解决。

标签: insert tabs sed command using


【解决方案1】:

我认为问题在于 shell 和 sed 扩展元字符的方式之间的竞争。我尝试将第一个反斜杠字符增加三倍,这似乎对我有用:

sed -i "i \\\t\t\ttime.sleep(0.1) " tmp.tmp

【讨论】:

  • 是的!完美运行。非常感谢
  • 您为什么发布了两个不同的答案?显然,您已经知道可以编辑现有答案,因为您编辑了在此之前发布的答案。
【解决方案2】:

似乎 '\t' 表示我的主机(ubuntu18.04)上的一个 TAB。下面是我想在 *.json 文件的第 50 行插入以 TAB 开头的新行时的命令行。

sed -i '50 i \t"opetin": true,' *.json

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2012-06-29
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    相关资源
    最近更新 更多