Как я могу использовать оболочку UNIX для подсчета количества раз, когда буква появляется в текстовом файле?
У меня есть несколько текстовых файлов, и я хотел бы подсчитать, сколько раз буква появляется в каждом?
В частности, я хотел бы использовать для этого оболочку UNIX в виде: cat file | .... делай всякое...
Есть ли способ заставить команду wc сделать это?
10 ответов:
Другая альтернатива:
tr -d -C X <infile | wc -cГде X-это символ или строка символов, которые вы хотите подсчитать, а infile-это входной файл.
Альтернатива grep:
sed 's/[^x]//g' filename | tr -d '\012' | wc -cГде
x- символ, который вы хотите посчитать.
Есть еще awk:
$ echo -e "hello world\nbye all" | awk -Fl '{c += NF - 1} END {print c}' 5Измените
-Flна-F<your character>.Это работает, устанавливая разделитель поля на символ, указанный
-F, а затем накапливая количество полей в каждой строке-1 (потому что если есть один разделитель, есть два поля - но мы должны считать только 1).