Можно установить новую тему затмения. Я знаю, "расширил презентацию VS", которая является очень минималистической темой. Выезд: http://andrei.gmxhome.de/skins/index.html
Дополнительно можно установить полноэкранный плагин, который дает Вам некоторое небольшое дополнительное пространство. Проверьте его здесь: http://www.scharf.gr/eclipse/fullscreen/update/
Также вещь, которую Вы имеете в нижней части, левой и правой, можно просто перетащить ее к вершине на ту же панель инструментов (так в конце, у Вас просто есть один). Если они не вписываются (в зависимости от Вашего разрешения экрана), входят в Окно->, Настраивают Perspecitve... и выключают их.
Команда wc
иначе. подсчет слов может сделать это:
$ wc -w <file>
$ cat sample.txt
today is a
good day
$ wc -w sample.txt
5 sample.txt
# just the number (thanks to Stephane Chazelas' comment)
$ wc -w < sample.txt
5
Я придумал это для ПРОСТО числа:
wc -w [file] | cut -d' ' -f1
5
Я также как wc -w < [file]
подход
Наконец, для хранения просто подсчета слов в переменной, Вы могли использовать следующее:
myVar=($(wc -w /path/to/file))
Это позволяет Вам пропустить имя файла изящно.
Лучшее решение использует Perl:
perl -nle '$word += scalar(split(/\s+/, $_)); END{print $word}' filename
@Bernhard
Можно проверить исходный код wc
команда от coreutils, я тестирую в своей машине с файлом subst.c
в ударе 4,2 источника.
time wc -w subst.c
real 0m0.025s
user 0m0.016s
sys 0m0.000s
И
time perl -nle '$word += scalar(split(" ", $_)); END{print $word}' subst.c
real 0m0.021s
user 0m0.016s
sys 0m0.004s
Чем больше файл, тем более эффективный Perl относительно wc
.
wc
взял ~14sec, в то время как Perl взял ~5sec!
– terdon♦
19.06.2013, 20:28
split
на /\s+/
похож на a split(' ')
за исключением того, что любой ведущий пробел производит пустое первое поле. То различие даст Вам одно дополнительное слово (пустое первое поле, которое является), на строку связываются. Так использование (split(" ", $_))
иначе для файла, созданного как это: echo -e "unix\n linux" > testfile
Ваша острота сообщает о 3 словах.
– don_crissti
19.06.2013, 21:03
wc
будет значительно более быстрым, точно так же, как с PERLIO=:utf8
, perl
будет значительно медленнее.
– Stéphane Chazelas
28.06.2013, 13:20
$ function wordfrequency() { awk 'BEGIN { FS="[^a-zA-Z]+" } { for (i=1; i<=NF; i++) { word = tolower($i) words[word]++ } } END { for (w in words) printf("%3d %s\n", words[w], w) } ' | sort -rn }
$ cat your_file.txt | wordfrequency
Здесь перечисляется частота каждого слова, встречающегося в предоставляемом файле. Я знаю, что это не то, что вы просили, но это лучше! Если вы хотите увидеть вхождения вашего слова, вы можете просто сделать это:
$ cat your_file.txt | wordfrequency | grep yourword
Я даже добавил эту функцию в мой .dotfiles
Source: AWK-ward Ruby
Программа wc
считает «слова», но это, например, не те «слова», которые многие люди увидят при просмотре файла. Программа vi
, например, использует другую меру «слов», разделяя их на основе их классов символов, в то время как wc
просто считает вещи , разделенные пробелами . Эти две меры могут кардинально отличаться. Рассмотрим следующий пример:
first,second
vi
видит три слова ( первое и второе , а также разделяющую их запятую), а wc
видит один (в этой строке нет пробелов). Есть много способов подсчета слов, некоторые из них менее полезны, чем другие.
Хотя Perl лучше подходит для написания счетчика для слов в стиле vi, вот быстрый пример с использованием sed
, tr
и wc
( умеренно переносимый с использованием буквального возврата каретки ^ M
):
#!/bin/sh
in_words="[[:alnum:]_]"
in_punct="[][{}\\|:\"';<>,./?\`~!@#$%^&*()+=-]"
sed -e "s/\($in_words\)\($in_punct\)/\1^M\2/g" \
-e "s/\($in_punct\)\($in_words\)/\1^M\2/g" \
-e "s/[[:space:]]/^M/g" \
"$@" |
tr '\r' '\n' |
sed -e '/^$/d' |
wc -l
Сравнение счетчиков:
wc
дает 28.Для справки: POSIX vi говорит:
В локали POSIX vi должен распознавать пять типов слов:
Максимальная последовательность букв, цифр и знаков подчеркивания, разделенных с обоих концов. by:
Символы, отличные от букв, цифр или подчеркиваний
Начало или конец строки
Начало или конец буфера редактирования
Максимальная последовательность символов, кроме букв, цифр и подчеркиваний , или символы, разделенные с обоих концов:
- буква, цифра, подчеркивание
<пробел>
символы- начало или конец строки
- начало или конец буфера редактирования
Одна или несколько последовательных пустых строк
Первый символ в буфере редактирования
Последний не-
<новая строка>
в буфере редактирования
wc -w
не имейте того же определения что касается GNUgrep -w
. Дляwc
слово является последовательностью одного или нескольких непробелов ([:space:]
класс символов в текущей локали). Например,foo,bar
иfoo bar
(с неразрывным пространством), каждое слово. попытка – Stéphane Chazelas 12.06.2014, 18:18