Update functions.c
This commit is contained in:
55
functions.c
55
functions.c
@@ -13,10 +13,7 @@
|
|||||||
<link rel="alternate" type="application/atom+xml" title="" href="/131/lab0_letsbegin.atom">
|
<link rel="alternate" type="application/atom+xml" title="" href="/131/lab0_letsbegin.atom">
|
||||||
<link rel="alternate" type="application/rss+xml" title="" href="/131/lab0_letsbegin.rss">
|
<link rel="alternate" type="application/rss+xml" title="" href="/131/lab0_letsbegin.rss">
|
||||||
|
|
||||||
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml
|
||||||
<link rel="alternate icon" href="/assets/img/favicon.png" type="image/png">
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
@@ -774,3 +771,53 @@ myatoi("-105") == -105
|
|||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Функция для подсчета строк, слов и байт в файле
|
||||||
|
count_file_stats() {
|
||||||
|
local file="$1"
|
||||||
|
|
||||||
|
# Проверяем существование файла
|
||||||
|
if [ ! -e "$file" ]; then
|
||||||
|
echo "Ошибка: файл '$file' не существует" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Проверяем, является ли файл обычным файлом
|
||||||
|
if [ ! -f "$file" ]; then
|
||||||
|
echo "Ошибка: '$file' не является обычным файлом" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Проверяем возможность чтения файла
|
||||||
|
if [ ! -r "$file" ]; then
|
||||||
|
echo "Ошибка: нет прав на чтение файла '$file'" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Подсчет строк, слов и байт
|
||||||
|
local lines=$(wc -l < "$file")
|
||||||
|
local words=$(wc -w < "$file")
|
||||||
|
local bytes=$(wc -c < "$file")
|
||||||
|
|
||||||
|
# Вывод результатов
|
||||||
|
echo -e "${lines}\t${words}\t${bytes}\t${file}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Основная программа
|
||||||
|
main() {
|
||||||
|
# Проверка наличия аргументов
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "Использование: $0 файл1 [файл2 ...]" >&2
|
||||||
|
echo "Пример: $0 ./test/wiki_ci ./test/nullfile" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Обработка каждого файла
|
||||||
|
for file in "$@"; do
|
||||||
|
count_file_stats "$file"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Запуск основной функции с переданными аргументами
|
||||||
|
main "$@"
|
||||||
Reference in New Issue
Block a user