bash 字符串操作替代是什么?

发布于 2024-12-31 22:34:00 字数 245 浏览 0 评论 0原文

我在脚本中执行以下操作:

~/tmp$ cat quick.sh
#!/bin/bash
TEXT="Hello World"
KEY=$(echo ${TEXT} | sed -r "s/(^[^ \t]+).+/\1/")
echo ${TEXT}
echo ${KEY}
~/tmp$ ./quick.sh
Hello World
Hello

如何仅使用 BASH 提供的工具从字符串中提取第一个单词?

I do the following in my scripts:

~/tmp$ cat quick.sh
#!/bin/bash
TEXT="Hello World"
KEY=$(echo ${TEXT} | sed -r "s/(^[^ \t]+).+/\1/")
echo ${TEXT}
echo ${KEY}
~/tmp$ ./quick.sh
Hello World
Hello

How can I extract the first word from a string just with tools BASH provides?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独自唱情﹋歌 2025-01-07 22:34:00

使用 ${param%%word} 参数扩展

$ var="Hello World" ; echo "${var%% *}"
Hello

Using the ${param%%word} Parameter Expansion

$ var="Hello World" ; echo "${var%% *}"
Hello
从﹋此江山别 2025-01-07 22:34:00

您还可以使用数组或位置参数作为临时占位符

TEXT='Hello World'
tmp=($TEXT)         # must not quote the variable here
first=${tmp[0]}
second=${tmp[1]}

set -- $TEXT        # must not quote the variable here
first=$1
second=$2

You can also use an array or the positional parameters as temporary placeholders

TEXT='Hello World'
tmp=($TEXT)         # must not quote the variable here
first=${tmp[0]}
second=${tmp[1]}

or

set -- $TEXT        # must not quote the variable here
first=$1
second=$2
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文