Я должен признать, что действительно не понимаю то, что Вы пытаетесь сделать, но я не думаю что вопросы. Я нашел этот инструмент названным defragfs
который подразумевает делать то, что Вы спрашиваете (если я понимаю то, что Вы пытаетесь сделать).
http://defragfs.sourceforge.net/index.html
Я думаю вещь с этим инструментом, хотя, то, что это дефрагментируется после, где я думаю, что Вы надеетесь по существу гарантировать что, поскольку Вы пишете файл в диск, что это сделано так последовательным способом. По данным этого StackOverflow названные Вопросы и ответы: как хранить файл в непрерывном дисковом блоке в Linux, это не звучит, like's возможен, учитывая архитектуру того, как записи сделаны.
Только для закругления этого Вопросы и ответы я действительно находил следующие ресурсы, которые кажутся, что могли бы быть полезными.
По умолчанию, результат печати wc
вместе с именами файлов. Если Вам нужен только результат, Вы должны сделать wc
входной сигнал для чтения из stdin:
</usr/share/dict/words wc -w > ~/dicwords.txt
С Вашим текущим решением, Вы можете использовать некоторые другие инструменты, чтобы получить только результат из wc
, например cut
, awk
, grep
....
wc -c /usr/share/dict/words | cut -d' ' -f1 > ~/dicwords.txt
Aquí hay una solución usando cat
, que evita imprimir el nombre del archivo después del resultado.
cat /usr/share/dict/words | wc -w
Если вам нужно будет использовать количество слов в скрипте, вы можете сохранить значение в переменной:
numWords=$(wc -w /usr/share/dict/words | tr -dc '0-9')
в противном случае вы можете сохранить его в файл:
wc -w /usr/share/dict/words | tr -dc '0-9' > ~/dicwords.txt
Файл /usr/share/dict/words
должен содержать одно слово в строке. Я полагаю, что в некоторых системах он может содержать один «словарный термин» на строку и что каждый из них может состоять из более чем одного слова, разделенного пробелом -, но сам я никогда этого не видел.
Вы получаете количество строк одним из
wc -l </usr/share/dict/words
(подсчитывает количество новых строк в файле)sed -n '$=' /usr/share/dict/words
(в последней строке вывести номер текущей строки)awk 'END { print NR }' /usr/share/dict/words
(в конце ввода вывести количество записей (строк )прочитать)grep -c '[^[:space:]]' /usr/share/dict/words
(подсчитать количество строк, в которых есть хотя бы один не -пробел (-вроде )символа)Из них вариант wc -l
является наименее переносимым, поскольку он может выводить или не выводить лишние пробелы до и/или после фактического числа.
awk 'BEGIN{sum=0}{sum=sum+NF}END{print sum}' /usr/share/dict/words >~/dictwords.txt