Поиск файлов диапазоном размера

Я должен найти файлы размером. Размеры являются параметрами. Результат найденных файлов должен быть сохранен в файл. Я уже получил это:

touch result.txt 
find /var/log -type f -size $1 -size $2 -exec ls {} \; > result.txt 

сценарий показывает мне некоторые результаты, но я не уверен, что они правы, и ничто не сохраняет в файл.
Кто-либо может помочь?

6
задан 2 November 2017 в 03:33

2 ответа

используйте как:

find /var/log -type f -size -10M -size +1M -exec ls {} \; > result.txt

Это сохранит имя файлов, которые имеют размер больше чем 1 МБ и меньше чем 10 МБ.

cat result.txt
/var/log/wtmp
/var/log/audit/audit.log.1
/var/log/audit/audit.log
/var/log/anaconda/journal.log
/var/log/mongo/mongod-11.0.0.11.log

Если Вы передаете, поскольку входные параметры затем используют как:

find /var/log -type f -size -"$1"M -size +"$2"M -exec ls {} \; > result.txt

Ниже доступные единицы для размера.

  -size n[cwbkMG]
          File uses n units of space, rounding up.  The following
          suffixes can be used:

          `b'    for 512-byte blocks (this is the default if no suffix
                 is used)

          `c'    for bytes

          `w'    for two-byte words

          `k'    for Kibibytes (KiB, units of 1024 bytes)

          `M'    for Mebibytes (MiB, units of 1024 * 1024 = 1048576
                 bytes)

          `G'    for Gibibytes (GiB, units of 1024 * 1024 * 1024 =
                 1073741824 bytes)
10
ответ дан 23 November 2019 в 07:25

Файлы Вы находка могут быть отсортированы численно (использующий столбец размера) как это

find /var/log -ls |sort -nk7

Можно сохранить результат в файле, если Вы желаете

find /var/log -ls |sort -nk7 > result.txt
2
ответ дан 23 November 2019 в 07:25

Другие вопросы по тегам:

Похожие вопросы: