В чем именно заключается проблема, wcкоторая мешает вам использовать его?
Ванза
5
На самом деле, нет. Команды Unix, как правило, предназначены для использования таким образом, объединены в каналы.
Майкл Берковски
2
Я подключаюсь через SSH к другому хосту для доступа к некоторым данным. К сожалению, куча базовых команд не работают на этом хосте. Если я использую wc, он возвращает «нераспознанную команду». Поэтому я ищу другие варианты.
Kantura
7
Используйте treeкоманду. Это даст вам дерево и внизу скажет, сколько файлов и каталогов там. Если вы хотите скрытые файлы, также используйте tree -a.
Элайджа Линн
5
@vanza " Что именно такое проблема с wc ", что если у файла есть имя \nв имени файла? Да, крайне маловероятно! Но все же технически обоснованно и возможно.
JamesThomasMoon1979
Ответы:
524
это один:
ls -l . | egrep -c '^-'
Примечание:
ls -1 | wc -l
Что означает:
lsсписок файлов в каталоге
-1: (это ОДИН) только одна запись в строке. Измените его на -1a, если вы хотите скрытые файлы тоже
Нет, подождите . Я сделал болван. Вы абсолютно правы, Sajad Lfc. ls -1 dir | egrep -c '' Возвращает количество файлов в каталоге. Спасибо .
Kantura
1
@SajadKaruthedath ls -l . | egrep -c '^-'не считает скрытые файлы. Я предлагаю добавить -aфлаг ls.
JamesThomasMoon1979
1
@ JamesThomasMoon1979: пожалуйста, проверьте мое описание
Саджад Карутхедат
1
Это показывает ошибку, когда в папке нет файлов. Использование ls -1 /dir 2>/dev/null | wc -l. Здесь вывод ls направлен в / dev / null, и в результате получается чистый ноль
Sathish
6
@runios, потому что ls -lвозвращает дополнительную строку вверху, суммируя размеры файлов на общую сумму. Вы должны использовать, ls -1а не ls -l. Кроме того, если кто-то хочет скрытые файлы, но без каталогов, .и ..вы должны использоватьls -1A | wc -l
wc
которая мешает вам использовать его?tree
команду. Это даст вам дерево и внизу скажет, сколько файлов и каталогов там. Если вы хотите скрытые файлы, также используйтеtree -a
.\n
в имени файла? Да, крайне маловероятно! Но все же технически обоснованно и возможно.Ответы:
это один:
Примечание:
Что означает:
ls
список файлов в каталоге-1
: (это ОДИН) только одна запись в строке. Измените его на -1a, если вы хотите скрытые файлы тоже|
: вывод трубы на ...wc
: "wordcount"-l
: считатьl
инес.источник
ls -l . | egrep -c '^-'
не считает скрытые файлы. Я предлагаю добавить-a
флагls
.ls -1 /dir 2>/dev/null | wc -l
. Здесь вывод ls направлен в / dev / null, и в результате получается чистый нольls -l
возвращает дополнительную строку вверху, суммируя размеры файлов на общую сумму. Вы должны использовать,ls -1
а неls -l
. Кроме того, если кто-то хочет скрытые файлы, но без каталогов,.
и..
вы должны использоватьls -1A | wc -l