shell脚本增加

时间:2015-04-09 11:25:35

标签: shell

我通过以下命令计算我的列表

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

2 个答案:

答案 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

这可能比增加变量更清晰/更容易,具体取决于脚本的其余部分。 (如果您包含一个演示该问题的完整脚本,将会有所帮助。)