Определение количества файлов в каталоге, не считая их

Я думаю, что Вы найдете, что не можете зафиксировать его. Я думаю это su чтения /dev/tty для пароля, и я полагаю, что Вы не можете действительно перенаправить к тому волшебному файлу устройств.

При использовании Linux можно проверить что su чтения для пароля с strace.

4
13.04.2017, 15:36
4 ответа

ls ресурсы отходов путем сортировки вывода. Если у Вас есть GNU ls, сделайте это вместо этого:

ls --quoting-style=escape -U xml | wc -l
4
27.01.2020, 20:52
  • 1
    : Теми опциями является, вероятно, GNU ls. Я работаю над системой Unix с файлом AT&T-style utils. Я могу однако установить GNU ls таким образом, ответ применяется. –  RedGrittyBrick 12.03.2013, 17:14
  • 2
    @RedGrittyBrick Радоваться Вам разрешают установить GNU ls! я мог назвать много администраторов, у которых действительно есть a root считайте, но кто никогда не устанавливал бы версию инструмента "снаружи"! Истинная причина для этого - то, потому что они используют один из дистрибутивов сервера предприятия (например, RHEL), и они делали бы недействительным свою гарантию, если бы они установили "стороннюю" версию инструмента (к которому гарантия больше не относилась бы, очевидно). И необходимо повиноваться к этим правилам, если Вы будете выполнять свое собственное дело и в большой степени будете зависеть от этого материала для выполнения безупречно (так как это - средства существования...), –  syntaxerror 14.12.2014, 16:36
n=0; for file in ./*; do let "n += 1"; done; echo $n;
1
27.01.2020, 20:52

Делает

set -- *
echo $#

работа? С тех пор setвстроенная оболочка, она не могла бы быть затронута пределом аргумента. Обратите внимание, что это игнорирует dotfiles. С более выборочным шариком можно получить exacly, в чем Вы нуждаетесь. Красота этого состоит в том, что это не требует единственного ветвления или канала.

1
27.01.2020, 20:52

Как насчет этой команды, которая передает неотсортированный список dir по каналу и считает соответствия:

$ ls -U ./xml/ | grep -c 'query$'

Обратите внимание, что в зависимости от Вашей разновидности *отклоняют, Вы могли бы хотеть ls -u вместо ls -U

0
27.01.2020, 20:52
  • 1
    Никогда не анализируйте ls, это может дать неправильные результаты. –  Chris Down 11.09.2013, 02:47
  • 2
    , но та страница начинается с нелепым случаем имен файлов, содержащих новые строки или другие нечетные символы, (который решен GNU ls --quoting-style=c и BSD ls -q ) и не рассматривает вопрос того, как считать количество файлов в подкаталоге, содержащем много файлов. –  Mark Hudson 14.09.2013, 01:04

Теги

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