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/rss+xml" title="" href="/131/lab0_letsbegin.rss">
|
||||
|
||||
<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>
|
||||
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml
|
||||
|
||||
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);});
|
||||
@@ -774,3 +771,53 @@ myatoi("-105") == -105
|
||||
</body>
|
||||
</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