【问题标题】:How to remove first character up to a specific character in a string using bash scripting? [duplicate]如何使用bash脚本删除字符串中的第一个字符到特定字符? [复制]
【发布时间】:2022-01-12 23:02:42
【问题描述】:

例如,我有一个字符串:

HelloWorld: This is HelloWorld: another HelloWorld

我如何从上面的字符串中得到只是

This is HelloWorld: another Helloworld

整个字符串的开头也可以有空格,基本上我只想删除字符串中第一个冒号(“:”)第一次出现的所有字符。

感谢您的帮助!

【问题讨论】:

  • 请添加到您的问题(不发表评论):您搜索了什么,找到了什么?您尝试过什么,它是如何失败的?
  • @Cyrus 我搜索了使用 sed 命令从字符串中删除字符的方法,发现使用 sed 's/[:].*//' 实际上会在第一次出现冒号。但是,我还没有找到如何修改此命令以删除第一次出现冒号之前的所有内容。

标签: string bash scripting character


【解决方案1】:
string="HelloWorld: This is HelloWorld: another HelloWorld"

使用 POSIX shell(当字符串已经在变量中时很有用):

echo "${string#*: }"

使用 sed:

echo "$string" | sed 's/^[^:]*: //'

【讨论】:

  • 谢谢!这行得通!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 2020-02-13
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
相关资源
最近更新 更多