Como obtenho um caminho absoluto usando o comando find unix

11

Como obter o caminho absoluto usando o comando find.
na verdade, estou executando o seguinte 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

mas aqui variável $amostrando caminho a partir de, ./Downloads/filenamemas eu quero caminho absoluto /.

Shivam Sharma
fonte

Respostas:

16

Use find com um caminho absoluto.

find /path/ -size +20M

Irá imprimir o caminho inteiro.
Se você não conhece o diretório de trabalho, use a substituição de comandos da pwdseguinte maneira:

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

Para obter seu diretório de trabalho

De qualquer forma, parece que Bash homem agora aconselham a usar $()ao longo ``de modo que você deve usar a segunda forma. Você também pode provavelmente se referir diretamente à $PWDvariável que contém o diretório de trabalho do seu script e provavelmente seria mais rápido se você tivesse que usá-lo em um loop.

find "$PWD" -size +20M
Kiwy
fonte
Mas não tenho caminho, só tenho. como diretório atual, então?
Shivam Sharma
2
Não comece ., use em $(pwd)vez disso, que lhe dará um caminho completo.
BSD
8

Você pode usar o pwdcomando ou imprimir o arquivo realpath:

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

Ambos os comandos reais fornecem o caminho absoluto para os arquivos.

Spack
fonte
Mas um 2 está dando achado: `realpath ': Nenhum tal lima ou diretório
Shivam Sharma
Cantarolar. Talvez você não o tenha instalado, embora seja fornecido pelo coreutilspacote. Tente localizá-lo com which realpath.
Spack
É localizar nada ..
Shivam Sharma
Qual sistema você está usando?
Spack
Linux BANE 3.7-trunk-amd64 # 1 SMP Debian 3.7.2-0 + kali8 x86_64 GNU / Linux
Shivam Sharma
0

Para listar todos os arquivos PNG e JPEG com 7 dias de idade e caminho absoluto.

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

Aqui $PWDserá adicionado a todos os arquivos correspondentes.

aty
fonte