A ver si te puedo responder yo...
El comando
cat te muestra todo el contenido del archivo seleccionado (en este caso
$HOME/.recently-used.xbel)
De ahí pasamos a filtrar el contenido con
grep en base al patrón "
file:"
-v, --revert-match
Invierte el sentido de la concordancia, para seleccionar las
líneas donde no las hay.
-i, --ignore-case
No hace caso de si las letras son mayúsculas o minúsculas ni en
el patrón ni en los ficheros de entrada.
Esto lo que hace es extraer del archivo todas las líneas salvo las que identifican al archivo. El contenido extraído será el contenido del archivo creado por el script (
temporal.txt)
Posteriormente con
mv renombramos y movemos
temporal.txt y lo llamamos
$HOME/.recently-used.xbel, reemplazando al anterior.
Esto equivale a borrar del anterior archivo las líneas que identificaban los archivos recientes.
Para más información, STFW.
Saludos.