Bagaimana cara mendapatkan path absolut dari menggunakan perintah find unix


11

Cara mendapatkan path absolut dengan menggunakan perintah find.
sebenarnya saya menjalankan skrip berikut: -

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

tapi di sini variabel $amenunjukkan path mulai dari ./Downloads/filenametetapi saya ingin path absolut dari /.

Jawaban:


16

Gunakan temukan dengan jalur absolut.

find /path/ -size +20M

Ini akan mencetak seluruh jalur.
Jika Anda tidak tahu direktori kerja, gunakan subtitusi perintah pwdseperti ini:

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

Untuk mendapatkan direktori kerja Anda

Lagi pula, tampaknya Bash man sekarang menyarankan untuk menggunakan $()lebih dari itu ``sehingga Anda harus menggunakan formulir kedua. Anda juga dapat merujuk langsung ke $PWDvariabel yang berisi direktori kerja skrip Anda dan mungkin akan lebih cepat jika Anda harus menggunakan dalam satu lingkaran.

find "$PWD" -size +20M

Tapi saya tidak punya jalan, saya hanya punya. sebagai direktori saat ini?
Shivam Sharma

2
Jangan mulai dengan ., gunakan $(pwd)saja, itu akan memberi Anda jalan penuh.
bsd

8

Anda dapat menggunakan pwdperintah atau mencetak file realpath:

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

Kedua perintah nyata memberi Anda jalur absolut ke file.


Tapi yang ke-2 memberi find: `realpath ': Tidak ada file atau direktori seperti itu
Shivam Sharma

Bersenandung. Mungkin Anda belum menginstalnya meskipun disediakan oleh coreutilspaket. Cobalah untuk menemukannya which realpath.
Spack

Ini tidak menemukan apa pun ..
Shivam Sharma

Sistem mana yang Anda gunakan?
Spack

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

0

Untuk Mendaftar semua file PNG dan JPEG yang berumur 7 hari dengan path absolut.

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

Di sini $PWDakan ditambahkan ke setiap file yang cocok.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.