首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从逗号分隔值获取字数时忽略空格

从逗号分隔值获取字数时忽略空格
EN

Stack Overflow用户
提问于 2018-07-14 05:02:57
回答 5查看 447关注 0票数 0

这是我的字符串的样子:

代码语言:javascript
复制
value="inst1,inst2,inst3"

这是我的shell命令的样子,它将计算逗号分隔的单词的数量。

代码语言:javascript
复制
echo "$value" | tr ',' ' ' | wc -w
3

只要值中没有空格,就可以很好地工作。如果我在value中的一个单词上添加一个空格,则count会发生变化。

代码语言:javascript
复制
value="inst1,inst2,inst 3"
echo "$value" | tr ',' ' ' | wc -w
4

如何获得输出3并忽略字符串中的空格?

EN

回答 5

Stack Overflow用户

发布于 2018-07-14 05:07:19

您可以使用这个使用逗号字段分隔符的awk命令:

代码语言:javascript
复制
value="inst1,inst2,inst 3"
awk -F, '{print NF}' <<< "$value"

代码语言:javascript
复制
3

还有一种使用grep的替代解决方案

代码语言:javascript
复制
grep -oE '[^,]+' <<< "$value" | wc -l
票数 4
EN

Stack Overflow用户

发布于 2018-07-14 05:20:19

将单词存储在数组中,并输出元素的数量:

代码语言:javascript
复制
IFS=, read -ra arr <<< "$value"; echo "${#arr[@]}"
票数 4
EN

Stack Overflow用户

发布于 2018-07-14 05:04:13

先将空格替换为其他内容,然后执行您所做的操作。如下所示:

代码语言:javascript
复制
echo "$value" | tr ' ' '_' | tr ',' ' ' | wc -w
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51332772

复制
相关文章

相似问题

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