Форум программистов, компьютерный форум, киберфорум
Наши страницы
Shell, Bash
Войти
Регистрация
Восстановить пароль
 
evgen97_
0 / 0 / 1
Регистрация: 08.10.2016
Сообщений: 6
1

Подсчет количества файлов, содержащих текст на языке С

25.11.2017, 00:05. Просмотров 364. Ответов 9

Здравтсвуйте
Собственно вопрос в название темы.
Пытался скормить вывод команды ls команде file, но ничего не выходит. Далее, собирался искать через greep. Или все это можно сделать проще? Особенно интересует первый шаг.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2017, 00:05
Ответы с готовыми решениями:

Подсчет количества файлов заданного типа
Доброго времени суток! У меня такая проблемка: как подсчитать количество файлов заданного типа...

Подсчет количества файлов в каждом подкаталоге
Доброго времени суток! Подскажите пожалуйста, как написать скрипт который бы подсчитывал количество...

Подсчет количества строк содержащих определенные данные
Всем, здравствуйте. Подскажите, пожалуйста, направление для мыслей. Или готовый код. Суть такова....

Подсчет количества файлов и т.д
Люди помогите пожалуйста! Никак не могу решить задачу( "Создать командный файл, который во все...

Подсчет количества файлов в папке
ПОМОГИТЕ плз!!!!!!! как написать батник для подсчета количества файлов в каталоге!!!!

9
VINDER_Z
1 / 1 / 2
Регистрация: 15.09.2015
Сообщений: 155
14.02.2018, 16:58 2
если файлы имеют расширение *.c то можно сделать что то тип :
Bash
1
ls | xargs -n1 | grep ".c$" | wc -l
0
peter_irich
74 / 68 / 21
Регистрация: 18.10.2017
Сообщений: 640
14.02.2018, 21:21 3
А просто
PureBasic
1
ls -1 *.c |wc -l
не годится?
0
VINDER_Z
1 / 1 / 2
Регистрация: 15.09.2015
Сообщений: 155
14.02.2018, 21:53 4
Да можно и так
0
14.02.2018, 21:53
greg zakharov
Покинул форум
2315 / 967 / 269
Регистрация: 07.05.2015
Сообщений: 1,906
14.02.2018, 22:36 5
Не все так просто. Даже если отталкиваться от предположения, что файл с расширением .c - потенциальный кандидат, как тогда быть с пустыми файлами?! Тогда лучше пройтись find'ом:
Bash
1
find . -name '*.c' -type f ! -size 0 | wc -l
А вот понять действительно ли перед нами исходник С, придется провести соответствующий синтаксический анализ.
0
VINDER_Z
1 / 1 / 2
Регистрация: 15.09.2015
Сообщений: 155
15.02.2018, 08:37 6
по поводу пустых файлов можно резать их размер через awk ,и grep - ом игнорировать их , но лушче всего конечно делать анализ , в идеале думаю должно быть так :

1-получаем рекурсивно список всех файлов
2-отделяем из них все файлы с расширением c
3-отделяем из 2 пункта файлы размер которых больше нуля
4-ну и анализ синтаксиса, я не супер профи в С, но думаю элементарным вариантом будет просто отдавать файлы эти на растерзание утилите "file" и grep-ать все что после soure , Если в условии С то это то что надо , потому что если там будут в качестве файлов даже например исходные коды ядра и читать каждый файл .....это займет очень много времени
0
greg zakharov
Покинул форум
2315 / 967 / 269
Регистрация: 07.05.2015
Сообщений: 1,906
15.02.2018, 11:40 7
Цитата Сообщение от VINDER_Z
по поводу пустых файлов можно резать их размер через awk ,и grep - ом игнорировать их
А смысл? find'ом это сделать проще:
Bash
1
find . -name '*.c' -type f ! -size 0 -exec file {} \; | awk -F'[:,]' '{if ($2 == " C source") ++i}END{print i}'
0
volodin661
2437 / 1050 / 175
Регистрация: 10.12.2013
Сообщений: 3,577
15.02.2018, 14:12 8
во-первых, *.h - это тоже 'C',
а, во-вторых, почему бы и не скормить файл компилятору с проверкой только синтаксиса gcc -fsyntax-only ?
0
VINDER_Z
1 / 1 / 2
Регистрация: 15.09.2015
Сообщений: 155
15.02.2018, 14:26 9
ну, личноя выше писал что в с не силен) и про такую фичу как gcc -fsyntax-only я не слышал)))
0
greg zakharov
Покинул форум
2315 / 967 / 269
Регистрация: 07.05.2015
Сообщений: 1,906
15.02.2018, 15:32 10
volodin661, на счет скармливания gcc была идея, но это уже дело вкуса. А вот заголовочные файлы... как-то запамятовалось. Но это поправимо:
Bash
1
find . \( -name "*.c" -or -name "*.h" \) ...
0
15.02.2018, 15:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2018, 15:32

Подсчет количества файлов в папке
Доброго времени суток. Нужно было вывести количество файлов в папке определенного расширения через...

Подсчет количества файлов в директории
Всем привет! Прошу помощи с подсчетом количества файлов в папке. Использую следующий код: ...

Подсчет количества файлов в папке
Всем привет.Подскажите как можно подсчитать количество файлов в папке, включая все подкатологи?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.