Вы можете сделать это, открыв терминал и набрав
wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli
./speedtest-cli
Например:
[raja@localhost ~]$ ./speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from BSNL (XXX.XXX.XXX.XXX)...
Selecting best server based on ping...
Hosted by BEAM TELECOM (Hyderabad) [19.00 km]: 39.975 ms
Testing download speed........................................
Download: 1.16 Mbit/s
Testing upload speed..................................................
Upload: 0.38 Mbit/s
[raja@localhost ~]$
Спасибо LinOxide.
Используйте grep -o the
и подсчитайте количество строк, которые будут сгенерированы:
find. -name "*.txt" -type f -printf "%p\t" \
-exec sh -c 'grep -o "the" "$0" | wc -l' {} \;
grep -o
возвращает каждое совпадение в каждой строке, в отдельных строках (возвращается одно совпадение на каждую строку вывода ).
Вы можете дополнительно использовать -wi
с grep
, чтобы включитьThe
(регистр -нечувствительность )и исключить совпадения типа the
вtheory
(полное совпадение слов ).
Поскольку вы уже используете расширения GNU (-printf
), с GNU awk
вы можете сделать:
find. -name '*.txt' -size +2c -readable -type f -exec gawk -v RS=the '
ENDFILE {print FILENAME "\t" (FNR - ($0 != ""))}' {} +
То есть используйте txt
в качестве разделителя записей и сообщайте количество записей после обработки каждого файла. Но не считайте дополнительную запись, которая может (и вообще будет )появляться после последнего вхождения txt
.