Làm cách nào để có đường dẫn tuyệt đối từ việc sử dụng lệnh find unix


11

Làm thế nào để có được đường dẫn tuyệt đối bằng cách sử dụng lệnh find.
thực sự tôi đang chạy đoạn script sau: -

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

nhưng ở đây biến $ahiển thị đường dẫn bắt đầu từ ./Downloads/filenamenhưng tôi muốn đường dẫn tuyệt đối từ /.

Câu trả lời:


16

Sử dụng tìm với một đường dẫn tuyệt đối.

find /path/ -size +20M

Nó sẽ in toàn bộ đường dẫn.
Nếu bạn không biết thư mục làm việc thì hãy sử dụng lệnh thay thế pwdnhư thế này:

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

Để có được thư mục làm việc của bạn

Dù sao, có vẻ như Bash người đàn ông tại tư vấn để sử dụng $()trên ``vì vậy bạn nên sử dụng hình thức thứ hai. Bạn cũng có thể tham khảo trực tiếp đến $PWDbiến chứa thư mục làm việc của tập lệnh của bạn và nó có thể sẽ nhanh hơn nếu bạn phải sử dụng trong một vòng lặp.

find "$PWD" -size +20M

Nhưng tôi không có con đường, tôi chỉ có. Như thư mục hiện tại thì sao?
Shivam Sharma

2
Đừng bắt đầu với ., sử dụng $(pwd)thay vào đó, nó sẽ cung cấp cho bạn một đường dẫn đầy đủ.
bsd

8

Bạn có thể sử dụng pwdlệnh hoặc in ra tệp realpath:

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

Cả hai lệnh thực cho bạn đường dẫn tuyệt đối đến các tệp.


Nhưng người thứ 2 đang tìm kiếm: 'realpath': Không có tệp hoặc thư mục như vậy
Shivam Sharma

Hum. Có thể bạn chưa cài đặt nó mặc dù nó được cung cấp bởi coreutilsgói. Cố gắng xác định vị trí của nó với which realpath.
Spack

Nó không định vị được gì ..
Shivam Sharma

Bạn đang sử dụng hệ thống nào?
Spack

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

0

Để liệt kê tất cả các tệp PNG và JPEG đã 7 ngày tuổi với đường dẫn tuyệt đối.

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

Ở đây $PWDsẽ được thêm vào mỗi tập tin phù hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.