2010-11-09 42 views

回答

3
echo $filename | tr -c -d _ | wc -c 
+0

完美..很棒的帮助 – Arun 2010-11-09 14:15:02

-2

也许不是最优雅的或完美的解决方案,但应该做的伎俩:

echo $filename|split -C 1 - /tmp/foobar 
grep -l '_' /tmp/foobar* |wc -l 
rm /tmp/foobar* 
+0

我仍然需要尝试一下...感谢您的帮助Kimvais – Arun 2010-11-09 14:16:56

1

我会使用TR。

$ echo "8979858774_/hkjhjkh_kjh.hjghjg/_jhkj/_/" | tr -d _ -c | wc -c 
    4 
0

另一个变化:

echo "$filename" | grep -o _ | wc -l 

或者支持此外壳,如猛砸,KSH和的zsh:

u=${filename//_} 
echo $((${#filename} - ${#u})) 
相关问题