¿Cómo obtengo la ruta absoluta al usar el comando find unix?


11

Cómo obtener la ruta absoluta utilizando el comando find.
en realidad estoy ejecutando el siguiente script:

find . -size +20M | while read a
do
     i=$(echo $a | sed 's:/: :g')
     echo $a;
     j=($i)
     fileName=${j[${#j[@]}-1]}
     userName=${j[${#j[@]}-3]}
done

pero aquí la variable que $amuestra la ruta comienza desde ./Downloads/filenamepero quiero la ruta absoluta desde /.

Respuestas:


16

Use find con una ruta absoluta.

find /path/ -size +20M

Imprimirá todo el camino.
Si no conoce el directorio de trabajo, utilice la sustitución de comandos de pwdesta manera:

find "`pwd`" -size +20M 
   #or like this:
find "$(pwd)" -size +20M

Para obtener su directorio de trabajo

De todos modos, parece que Bash man ahora recomienda usar $()más, ``por lo que debe usar la segunda forma. También puede referirse directamente a la $PWDvariable que contiene el directorio de trabajo de su script y probablemente sería más rápido si tiene que usarlo en un bucle.

find "$PWD" -size +20M

Pero no tengo camino, solo tengo. como directorio actual entonces?
Shivam Sharma

2
No comience con ., use $(pwd)en su lugar, eso le dará un camino completo.
bsd

8

Puede usar el pwdcomando o imprimir el archivo realpath:

$ find "$(pwd)" -size +20M
$ find . -size +20M -exec realpath {} +

Ambos comandos reales le dan la ruta absoluta a los archivos.


Pero el segundo está dando find: `realpath ': No
Shivam Sharma

Tararear. Tal vez no lo tenga instalado, aunque lo proporciona el coreutilspaquete. Intenta localizarlo con which realpath.
Spack

No está localizando nada ..
Shivam Sharma

¿Qué sistema estás usando?
Spack

Linux BANE 3.7-trunk-amd64 # 1 SMP Debian 3.7.2-0 + kali8 x86_64 GNU / Linux
Shivam Sharma

0

Para enumerar todos los archivos PNG y JPEG que tienen 7 días de antigüedad con ruta absoluta.

$ find $PWD/ -mtime -7 -print -exec grep -e ".png\|.jpg" {} \;

Aquí $PWDse agregará a cada archivo que coincida.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.