首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除bash中字符后面的所有文本?

如何删除bash中字符后面的所有文本?
EN

Stack Overflow用户
提问于 2010-11-13 03:34:29
回答 6查看 237.7K关注 0票数 193

如何删除bash中字符后面的所有文本,在本例中是冒号(":")?我能把冒号也去掉吗?我不知道该怎么做。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-11-13 03:41:29

一个例子可能会很有用,但如果我没理解错的话,这是可行的:

代码语言:javascript
复制
echo "Hello: world" | cut -f1 -d":"

这会将Hello: world转换为Hello

票数 174
EN

Stack Overflow用户

发布于 2010-11-13 09:24:36

在Bash (以及ksh、zsh、dash等)中,您可以对%#使用参数扩展,前者将删除字符串末尾的字符,后者将删除字符串开头的字符。如果您使用这些字符中的单个字符,则将删除最小的匹配字符串。如果将字符加倍,则最长的字符将被删除。

代码语言:javascript
复制
$ a='hello:world'

$ b=${a%:*}
$ echo "$b"
hello

$ a='hello:world:of:tomorrow'

$ echo "${a%:*}"
hello:world:of

$ echo "${a%%:*}"
hello

$ echo "${a#*:}"
world:of:tomorrow

$ echo "${a##*:}"
tomorrow
票数 340
EN

Stack Overflow用户

发布于 2014-07-03 22:00:46

代码语言:javascript
复制
$ echo 'hello:world:again' |sed 's/:.*//'
hello
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4168371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档