
Entonces, mi administrador de archivos parece no haber conservado la jerarquía de directorios al extraer un archivo tar.xz. Ahora mi carpeta de Descargas está desordenada y llena de archivos que no están en sus lugares adecuados.
Quiero eliminar esos y solo aquellos archivos que estaban en el archivo para empezar. Para hacer esto, estoy tratando de hacer coincidir los extremos de cada ruta de archivo desde la salida tar tf file.tar.xz
y eliminar los archivos asociados.
Por ejemplo si la entrada es:
tor-browser_en-US/Browser/firefox
tor-browser_en-US/Browser/firefox.real
tor-browser_en-US/Browser/fonts/
tor-browser_en-US/Browser/fonts/Arimo-Bold.ttf
Quiero que la salida sea:
firefox
firefox.real
Arimo-Bold.ttf
para poder eliminarlos.
He estado intentando lograr esto sed 's/.*\/([^\/]+)$/\1/'
pero aparece el error sed: -e expression #1, char 19: invalid reference \1 on 's' command's RHS
y no estoy seguro de qué más intentar.
Respuesta1
sed '/\/$/d; s|.*/||'
/\/$/d
elimina cualquier línea con final /
. s|.*/||
elimina todo lo anterior al último /
(si lo hay) y al /
mismo.