我通过以下命令计算我的列表
my_list=`echo $pdca`
tr -dc '|' <<<"$my_list" | wc -w
对列表中的单词进行计数,例如:abc|hty|jid|hjik|kilhj
word belong to a : abc
0
word belong to b : hty|jid
1
word belong to c : hjik|kilhj
1
请你在这里帮助我将计数增加1.意味着它计数0它应该计数1并且计数1应该计数2
请在这里帮助我。
谢谢, 人士Himanshu
答案 0 :(得分:0)
要计算由某个分隔符分隔的字段,最好使用awk
,例如:
awk -F '|' '{print NF}' <<< "abc|hty|jid|hjik|kilhj"
5
awk -F '|' '{print NF}' <<< "abc"
1
awk -F '|' '{print NF}' <<< "hty|jid"
2
<强>解释强>
-F '|' # set custom field separator as |
{print NF} # print number of fields in input record
答案 1 :(得分:0)
我甚至没有远程理解这个问题,但是如果
tr -dc '|' <<<"$my_list" | wc -w
给你一个比你想要的少一个,尝试填充数据:
{ echo dummy; tr -dc '|' <<<"$my_list"; } | wc -w
这可能比增加变量更清晰/更容易,具体取决于脚本的其余部分。 (如果您包含一个演示该问题的完整脚本,将会有所帮助。)