Как заставить wc работать рекурсивно БЕЗ НАЙТИ - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу считать буквы в файлах. Они на разных уровнях. Я использовал

wc -m `ls -R`

однако, это работает только для файлов, которые находятся в текущем каталоге. Мне нужно либо перечислить полные пути или расширить область действия wc.

Я пытался использовать

ls -d -1 $PWD/*

, как предполагают несколько других ответов, но это не рекурсивно ни в коем случае. Он печатает столько уровней, сколько набрано с помощью / * / * / *. Это не универсально.

1 Ответ

0 голосов
/ 07 ноября 2018

Я не знаю, почему вы не хотите использовать find, но, используя zsh, вы можете сделать:

 wc -l prometheus/**/*.{yml,json}                                                                                                                                                 
     9 prometheus/prometheus/alertmanager/config.yml
   104 prometheus/prometheus/docker-compose.yml
   103 prometheus/prometheus/docker-prometheus.dockerapp/docker-compose.yml
    99 prometheus/prometheus/docker-stack.yml
    11 prometheus/prometheus/grafana/provisioning/dashboards/dashboard.yml
    50 prometheus/prometheus/grafana/provisioning/datasources/datasource.yml
    66 prometheus/prometheus/prometheus/prometheus.yml
   114 prometheus/prometheus/pwd-stack.yml
    30 prometheus/prometheus.yml
   614 prometheus/prometheus/dashboards/Grafana_Dashboard.json
  1237 prometheus/prometheus/dashboards/Grafana_Dashboard_prom_2.json
   749 prometheus/prometheus/dashboards/System_Monitoring.json
   689 prometheus/prometheus/Grafana_Dashboard.json
   712 prometheus/prometheus/Grafana Dashboard With Service.json
  1581 prometheus/prometheus/grafana/provisioning/dashboards/Docker Prometheus Monitoring-1533038455876.json
   258 prometheus/prometheus/HighLoadDashboard.json
...