Почему тип stat.st _size не является целым числом без знака?

Подход awk:

awk '
  !x {c[$0]; next}
  {for (i in c) if (index($0, i)) c[i]++}
  END{for (i in c) print c[i]"\t"i}' file x=1 file | sort -k1rn

Которые на ваш ввод дают

3       and
2       to
1       america
1       england
1       jerry
1       tom
1       went

Мы обрабатываем ввод в два прохода. На первом проходе мы записываем список различных слов в качестве ключей хеш-таблицы c.

Во втором проходе для каждой строки в файле мы перебираем все ключи в cи увеличиваем соответствующее значение, если ключ найден в строке.

Список отдельных слов в файле сохраняется в памяти. Если это английские слова, это не должно быть проблемой, поскольку в английском языке меньше и 200 000 различных слов.

2
23.11.2020, 18:00
1 ответ

off_t — это , определенный POSIX , и

Used for file sizes.

Он должен иметь возможность представлять отрицательные значения, поскольку он используется не только для размеров файлов, но и для смещений файлов (, отсюда и название ), а смещения могут быть отрицательными (, чтобы вернуться назад. в файле сlseekнапример ).

Вы можете задаться вопросом, почему вместо этого нельзя использовать size_t; но он используется для измерения размеров объектов, в частности объектов C, а не размеров файлов.

4
18.03.2021, 22:47

Теги

Похожие вопросы