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 /.

Shivam Sharma
sumber

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
Kiwy
sumber
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.

Spack
sumber
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.

aty
sumber