Как подсчитать количество вхождений '_' в моем имени файла с помощью сценария оболочки Unix - PullRequest
2 голосов
/ 09 ноября 2010

Я бы хотел посчитать, сколько раз в названии моего файла появляется «_» (ниже оценки). Как мне это сделать?

Ответы [ 4 ]

3 голосов
/ 09 ноября 2010
echo $filename | tr -c -d _ | wc -c
1 голос
/ 09 ноября 2010

Я бы использовал tr.

$ echo "8979858774_/hkjhjkh_kjh.hjghjg/_jhkj/_/" | tr -d _ -c | wc -c
   4
0 голосов
/ 09 ноября 2010

Другой вариант:

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

Или для оболочек, поддерживающих это, таких как Bash, ksh и zsh:

u=${filename//_}
echo $((${#filename} - ${#u}))
0 голосов
/ 09 ноября 2010

Вероятно, не самое элегантное или идеальное решение, но должно сработать:

echo $filename|split -C 1 - /tmp/foobar
grep -l '_' /tmp/foobar* |wc -l
rm /tmp/foobar*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...