2011-06-28 14 views
83

Necesito hacer algo de extracción de lotes, y en mi script necesito el directorio del archivo con el que estoy trabajando. Por ejemplo, el archivo = "stuff/backup/file.zip"; Necesito una forma de obtener la cadena "stuff/backup/" de la variable $file.bash filepath al directorio principal del archivo

Respuesta

139
dirname $file 

es lo que busca

+0

Wow, tienes razón. gracias :) – Matt

+0

+1, pásamelo. Hubiera sido más rápido, pero fue enviado a ingresar más de 'dirname $ file' – matchew

36
dirname $file 

es la salida

stuff/backup 

que es lo contrario de basename:

basename $file 

emitiría

file.zip 
+0

Pensé que Matt sería capaz de resolverlo desde allí (man dirname) :) – Matthieu

+1

Creo que todos somos Matt aquí. Solo una suposición. Pero solo estaba tratando de distinguir mi respuesta de la tuya. =) – matchew

+0

Sí, también uso basename, es muy ingenioso =) ¡Pero no pude encontrar nada sobre devolver el directorio del archivo en google! Creo que no estaba buscando las palabras correctas. Hah, todos los 3 de nosotros Matt's? :RE – Matt

1

Utilice simplemente $ dirname /home/~username/stuff/backup/file.zip

volverá /home/~username/stuff/backup/

Cuestiones relacionadas