Если вы хотите, чтобы избежать случаев ошибки, не позволяют wc -l
видеть файлы с символами новой строки (которые он будет считать, как 2+ файлы)
например Рассмотрим случай, когда у нас есть один файл с одного символа EOL в нем
> mkdir emptydir && cd emptydir
> touch $'file with EOL(\n) character in it'
> find -type f
./file with EOL(?) character in it
> find -type f | wc -l
2
Так, по крайней мере Gnu wc
не кажется, есть возможность чтения/сосчитать оканчивающихся нулем список (за исключением из файла), самым простым решением было бы не передавать ему имена файлов, а статический вывод каждый раз, когда файл найден, напримерв том же каталоге, что и выше
> find -type f -exec printf '\n' \; | wc -l
1
Или, если ваш find
поддерживает его
> find -type f -printf '\n' | wc -l
1
Вы сбиваете с толку разбитую полосу '' '(ASCII 166) с вертикальной полосой' '' (ASCII 124), используемой для [UNIX-конвейера] (http://en.wikipedia.org/wiki/Pipeline_ % 28Unix% 29). –
@SkippyleGrandGourou Разве это не называется трубой? – DaveStephens
@DaveStephens Да, это также называется. Его также называют штрихом Шеффера, verti-bar, vbar, stick, вертикальной линией, вертикальной косой чертой, баром, обелиском, glidus. – emlai