Я пытаюсь написать скрипт, который может искать текущий каталог для пустых файлов, за которым следует подсчет пустых файлов. Я также предпочел бы, чтобы файлы были по одному на строку вывода. Например, выход программы будет выглядеть так:
Empty files are: file1.pdf file4.cpp example-file Number of empty files: 3Размер пустого файла обычно равен нулю. Поэтому запуск следующего скрипта поможет найти пустые файлы
find /home/ -type f -size oc -exec ls {} \;
Как единицы, которые вы можете использовать:
b – for 512-byte blocks (this is the default if no suffix is used)
c – for bytes
w – for two-byte words
k – for Kilobytes (units of 1024 bytes)
M – for Megabytes (units of 1048576 bytes)
G – for Gigabytes (units of 1073741824 bytes)
я создал несколько пустых файлов и сохранил его в следующем каталоге
/home/um/Documents/hello
Теперь посмотрим все пустые файлы, которые я создал
cd /home/um/Documents/hello Эта команда меняет каталог hello
ls -sh Он перечисляет все файлы, в том числе размер в человеко-читаемом формате, в /home/um/Documents/hello
16K empty.odt 12K empty.pdf 8.0K empty.txt 16K excel .odsОднако размер этих файлов находится в диапазоне от 0 до 20 кб. Я уверен, что этот файл пуст
Таким образом, можно отсортировать все файлы по размеру.
find /home/um/Documents/hello -type pdf -size -20k -exec ls -lh {} \;
Сортирует все файлы размером менее 20 кб
Вы можете использовать команду find для поиска пустых файлов
find . -maxdepth 1 -type f -empty | tee /dev/tty | wc -l
Где
-maxdepth 1 смотреть только в текущем каталоге, а не подкаталоги -type f выглядит только для файлов, а не каталогов -empty проверяет наличие пустых файлов tee /dev/tty отправить имя файла на терминал и wc wc -l подсчитать файлыПодробнее см. man find.
Если вам не нужно рекурсивно (т.е. спускаться в / подсчитать пустые файлы внутри подкаталогов), вы можете просто использовать стандартные проверки файлов, например
n=0
for f in *; do
[[ -f "$f" ]] && [[ ! -s "$f" ]] && { echo "$f"; ((n++)); }
done
echo "Number of empty files: $n"
Из help test:
[F2]Размер пустого файла обычно равен нулю. Поэтому запуск следующего скрипта поможет найти пустые файлы
find /home/ -type f -size oc -exec ls {} \;
Как единицы, которые вы можете использовать:
b – for 512-byte blocks (this is the default if no suffix is used)
c – for bytes
w – for two-byte words
k – for Kilobytes (units of 1024 bytes)
M – for Megabytes (units of 1048576 bytes)
G – for Gigabytes (units of 1073741824 bytes)
я создал несколько пустых файлов и сохранил его в следующем каталоге
/home/um/Documents/hello
Теперь посмотрим все пустые файлы, которые я создал
cd /home/um/Documents/hello Эта команда меняет каталог hello
ls -sh Он перечисляет все файлы, в том числе размер в человеко-читаемом формате, в /home/um/Documents/hello
16K empty.odt 12K empty.pdf 8.0K empty.txt 16K excel .odsОднако размер этих файлов находится в диапазоне от 0 до 20 кб. Я уверен, что этот файл пуст
Таким образом, можно отсортировать все файлы по размеру.
find /home/um/Documents/hello -type pdf -size -20k -exec ls -lh {} \;
Сортирует все файлы размером менее 20 кб
Вы можете использовать команду find для поиска пустых файлов
find . -maxdepth 1 -type f -empty | tee /dev/tty | wc -l
Где
-maxdepth 1 смотреть только в текущем каталоге, а не подкаталоги -type f выглядит только для файлов, а не каталогов -empty проверяет наличие пустых файлов tee /dev/tty отправить имя файла на терминал и wc wc -l подсчитать файлыПодробнее см. man find.
Если вам не нужно рекурсивно (т.е. спускаться в / подсчитать пустые файлы внутри подкаталогов), вы можете просто использовать стандартные проверки файлов, например
n=0
for f in *; do
[[ -f "$f" ]] && [[ ! -s "$f" ]] && { echo "$f"; ((n++)); }
done
echo "Number of empty files: $n"
Из help test:
[F2]Размер пустого файла обычно равен нулю. Поэтому запуск следующего скрипта поможет найти пустые файлы
find /home/ -type f -size oc -exec ls {} \;
Как единицы, которые вы можете использовать:
b – for 512-byte blocks (this is the default if no suffix is used)
c – for bytes
w – for two-byte words
k – for Kilobytes (units of 1024 bytes)
M – for Megabytes (units of 1048576 bytes)
G – for Gigabytes (units of 1073741824 bytes)
я создал несколько пустых файлов и сохранил его в следующем каталоге
/home/um/Documents/hello
Теперь посмотрим все пустые файлы, которые я создал
cd /home/um/Documents/hello Эта команда меняет каталог hello
ls -sh Он перечисляет все файлы, в том числе размер в человеко-читаемом формате, в /home/um/Documents/hello
16K empty.odt 12K empty.pdf 8.0K empty.txt 16K excel .odsОднако размер этих файлов находится в диапазоне от 0 до 20 кб. Я уверен, что этот файл пуст
Таким образом, можно отсортировать все файлы по размеру.
find /home/um/Documents/hello -type pdf -size -20k -exec ls -lh {} \;
Сортирует все файлы размером менее 20 кб
Вы можете использовать команду find для поиска пустых файлов
find . -maxdepth 1 -type f -empty | tee /dev/tty | wc -l
Где
-maxdepth 1 смотреть только в текущем каталоге, а не подкаталоги -type f выглядит только для файлов, а не каталогов -empty проверяет наличие пустых файлов tee /dev/tty отправить имя файла на терминал и wc wc -l подсчитать файлыПодробнее см. man find.
Если вам не нужно рекурсивно (т.е. спускаться в / подсчитать пустые файлы внутри подкаталогов), вы можете просто использовать стандартные проверки файлов, например
n=0
for f in *; do
[[ -f "$f" ]] && [[ ! -s "$f" ]] && { echo "$f"; ((n++)); }
done
echo "Number of empty files: $n"
Из help test:
[F2] Вы можете использовать команду find
для поиска пустых файлов
find . -maxdepth 1 -type f -empty | tee /dev/tty | wc -l
Где
-maxdepth 1
смотреть только в текущем каталоге, а не в подкаталогах -type f
смотрит только на файлы, а не на каталоги -empty
проверяет наличие пустых файлов tee /dev/tty
отправляет имя файла на терминал и wc wc -l
подсчитать файлы Для получения дополнительной информации см. man find
.