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.