Список пустых каталогов SFTP

Если вы используете GNU find, вы можете указать количество ссылок с помощью -printf %n. Таким образом, вы можете получить максимальное значение с:

find. -name 'file*' -printf '%n\n' | sort -rn | head -n1

Однако обратите внимание, что это число может включать ссылки, которых нет в ., или записи, не соответствующие шаблону file*.

Если вы хотите подсчитать только жесткие ссылки с именем file*, найденные в ., и просмотреть пути для них, вы можете выполнить:

find. -name 'file*' -printf '%i\0%p\0' | gawk -v RS='\0' '
   {
     inode = $0
     getline file
   }
   ++count[inode] >= max {
     files[inode] = files[inode] " - " file ORS
     max = count[inode]
     max_inode = inode
   }
   END {
     printf "%s", "File with most links ("max"):\n" files[max_inode]
   }'

Который по-прежнему будет запускать только один findвызов вместо одного для каждого файла.

-1
20.03.2021, 02:24
0 ответов

Теги

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