Con GNU awk
para encontrar archivos regulares que contengan solo una línea, que contengan exactamente 8 caracteres (sin contar el carácter de nueva línea, si lo hay):
find. -type f -size +7c -size -50c -exec gawk '
BEGINFILE {p = 0}
FNR == 1 && length == 8 {p = 1}
FNR == 2 {p = 0; nextfile}
ENDFILE {if (p) print FILENAME}' {} +
Con find, restringimos a archivos cuyo tamaño está entre 8 y 49 bytes. 8 para un archivo con 8 caracteres de un -byte y sin nueva línea, 49 para 8 6 -caracteres de byte (el máximo en UTF -8, es posible que desee adaptarlo para otros juegos de caracteres )y un nueva línea.
O conzsh
:
has_one_line_of_8_characters() {
local c
! read -ru0 -k10 c && [[ $c =~ $'^[^\n]{8}\n?$' ]]
} < ${1-$REPLY}
printf '%s\n' **/*(.DL+7L-50+has_one_line_of_8_characters)
Я думаю, что можно удалить все пакеты, но есть несколько преимуществ, если мы оставим это, например:
Ссылка:https://wiki.archlinux.org/index.php/pacman#Cleaning_the_package_cache