Найти файлы, размер которых больше или равен X - PullRequest
0 голосов
/ 07 декабря 2011

Как найти файлы размером больше или меньше или размером того же размера, что и другой файл X с помощью команды find(1), без awk(1)?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Предполагается, что вы делаете это в Linux:

Тот же размер, что и в другом файле:

$ find . -size `stat --printf '%s' $other_file`c

Больше, чем в другом файле:

$ find . -size +`stat --printf '%s' $other_file`c

Меньше:

$ find . -size -`stat --printf '%s' $other_file`c
0 голосов
/ 07 декабря 2011

find(1) не имеет инструмента прямого сравнения размеров файлов, как для сравнения файлов atime, mtime или ctime со ссылочным файлом.

То, что вы можете сделать аналогичным образом, - это получить размер эталонного файла перед вызовом find(1):

find . -type f -size -$(stat -c %s /etc/passwd)c -ls # smaller than /etc/passwd
find . -type f -size +$(stat -c %s /etc/passwd)c -ls # larger than /etc/passwd
find . -type f -size $(stat -c %s /etc/passwd)c -ls # same size as /etc/passwd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...