Найдите в вашем SSH-клиенте параметр «повторно подключиться при отключении». Если вы используете клиент командной строки, проверьте, не работает ли он что-то вроде function ssh () {while true; ssh "$ @"; Выполнено; }
Herramientas de software uno -trazador de líneas, utilizando ls -v
y sort -V
que ordenan por número de versión:
{ ls -Qrv *.py |rev | uniq -f 1 | rev; ls -Q *.py; } | sort -V | uniq -u | xargs rm
El uso de uniq -f 1
depende de que el formato de nombre del archivo sea consistente --se necesitan los rev
circundantes porque -f
no tiene otra forma de ignorar el último campo.
Conzsh
:
# all *.<number>.py files in "n"umerical order
files=(*-<->.py(n))
# associative array whose key is the part before the last "-"
typeset -A latest
for f ($files) latest[${f%-*}]=$f
# plain array with the values of the associative array
keep=($latest)
# array subtraction:
echo rm -- ${files:|keep}
(quitar echo
si feliz ).
Eso no hace ninguna suposición sobre qué caracteres pueden contener el resto de los nombres de archivo. Conbash
(o zsh
oksh
)y herramientas GNU:
xargs -r0a <(printf '%s\0' *-*.py |
grep -zEe '-[[:digit:]]+\.py$' |
sort -zrV |
awk -vRS='\0' -vORS='\0' '
{key = $0; sub(/-[^-]*$/, "", key)}
seen[key]++') echo rm --