Come ottengo il percorso assoluto dall'uso del comando find unix


11

Come ottenere il percorso assoluto usando il comando find.
attualmente sto eseguendo il seguente 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

ma qui la variabile $amostra il percorso a partire da ./Downloads/filenamema voglio il percorso assoluto da /.

Risposte:


16

Usa trova con un percorso assoluto.

find /path/ -size +20M

Stampa l'intero percorso.
Se non si conosce la directory di lavoro, utilizzare la sostituzione dei comandi in pwdquesto modo:

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

Per ottenere la tua directory di lavoro

In ogni caso, sembra che l'uomo Bash ora consigliano di utilizzare $()più di ``così si dovrebbe utilizzare la seconda forma. Probabilmente puoi anche fare riferimento direttamente alla $PWDvariabile che contiene la directory di lavoro del tuo script e sarebbe probabilmente più veloce se dovessi usare in un ciclo.

find "$PWD" -size +20M

Ma non ho percorso, ho solo. come directory corrente allora?
Shivam Sharma,

2
Non iniziare ., usa $(pwd)invece, che ti darà un percorso completo.
bsd

8

È possibile utilizzare il pwdcomando o stampare il file realpath:

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

Entrambi i comandi reali ti danno il percorso assoluto per i file.


Ma il secondo è trovare: `realpath ': nessun file o directory simile
Shivam Sharma,

Ronzio. Forse non lo hai installato sebbene sia fornito dal coreutilspacchetto. Prova a localizzarlo con which realpath.
Spacca il

Non trova nulla ..
Shivam Sharma,

Quale sistema stai usando?
Spacca il

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

0

Elencare tutti i file PNG e JPEG di 7 giorni con percorso assoluto.

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

Qui $PWDverranno aggiunti tutti i file corrispondenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.