Папки печати называют счетчик символов

Проблема состоит в том, что Вы пытаетесь установить php5-dev от сжатия вместо lenny. lenny версия php5-dev не зависит ни от какой конкретной версии libtool или autoconf способ, которым делает версия сжатия. Если бы я должен был предположить, как Вы вошли в эту ситуацию, я предположил бы, что Вы вошли в это, потому что Вы теперь или в некоторое время имели, "сжимают" в Вашем sources.list и установил некоторый материал, или возможно Вы ссылаетесь "стабильный" вместо "lenny" или "сжимаете" в своем sources.list, и теперь Вы могли бы выполнять некоторое соединение lenny в сжатии.apt-cache policy php5-dev должен сказать Вам, где Вы получаете php5-dev от, который мог бы помочь.

1
18.07.2012, 09:41
3 ответа
find . -type d -print | tr -d '\n' | wc -m

tr удалит все символы новой строки и wc будет считать число, которое Вы хотите.

2
27.01.2020, 23:21

По-видимому, запаздывающие новые строки считаются как символ также.

Предположим, что Вы хотите счетчик символов на каталог, можно сделать

$ find -type d -exec bash -c 'echo -n $0 | wc -m' {} \; 
1
12
27

Который составляет в целом 40, что Вы ищете. Обратите внимание что echo -n удаляет запаздывающие новые строки.

Подведение итогов этих трех также возможно.

$ find -type d -exec bash -c 'echo -n $0 | wc -m' {} \; | awk '{S+=$1} END  {print(S)}'
40
1
27.01.2020, 23:21
  • 1
    Btw, можно записать просто bash -c 'echo -n {} | wc -m'. –  rush 18.07.2012, 11:31
  • 2
    @rush Вы правы. По некоторым причинам это не работало, когда я попробовал его, но по-видимому было что-то не так. –  Bernhard 18.07.2012, 11:39
  • 3
    В каталоге, который содержит 1 369 подкаталогов, этот ответ был чрезвычайно медленным. Вот настоящий родственник, пользователь, sys сравнение времени для 3 ответов: Peter.O : Rush : Bernhard ... реальный 1.00 : 1.01 : 193.36, пользователь 1.00 : 1.26 : 702.53, sys 1.00 : 1.01 : 109.76... Самые быстрые времена (для 100 повторений) были: реальные 3.699, пользователь 1.120, sys 1.120 –  Peter.O 18.07.2012, 15:34

Установите массив bash/ksh/zsh ct к выводу wc -lm, затем используйте арифметику оболочки.

ct=($(find . -type d -print |wc -lm)); echo $((ct[1]-ct[0]))

Или используйте полевое разделение и позиционные параметры:

set $(find . -type d -print |wc -lm); echo $(($2 - $1))
1
27.01.2020, 23:21

Теги

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