FreeBSD 9: Làm thế nào để xác định tên tệp chính xác?


10

Cố gắng sử dụng locatelệnh để tìm một kết quả khớp chính xác cho mẫu đã cho. Tuy nhiên, kết quả hiển thị tất cả các tệp phù hợp ..

Ví dụ: Tôi muốn tìm một nhị phân có tên: nút

Nhưng nó mang lại cho tôi tất cả các trận đấu có chứa từ này:

server2# locate node
/usr/share/man/man9/getnewvnode.9.gz
/usr/share/man/man9/ieee80211_amrr_node_init.9.gz
/usr/share/man/man9/ieee80211_dump_node.9.gz
/usr/share/man/man9/ieee80211_dump_nodes.9.gz
/usr/share/man/man9/ieee80211_find_rxnode.9.gz
/usr/share/man/man9/ieee80211_find_rxnode_withkey.9.gz
/usr/share/man/man9/ieee80211_free_node.9.gz

Câu trả lời:


10

Nếu bạn nhìn vào locate --help, bạn có thể tìm thấy:

  -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
      --regex            patterns are extended regexps

Bạn có thể sử dụng -rđể cung cấp một mẫu regrec để locate:

locate -r /node$

Việc /đảm bảo nodelà ở đầu tên tập tin. Các $Đảm bảo nodelà vào cuối tên tập tin. Điều này sẽ cung cấp cho bạn chỉ các tập tin phù hợp với tên tập tin chính xác.

Nếu bạn muốn thực hiện tìm kiếm case-insensitive (phù hợp Node, NODE, nOdE, vv), thêm -i:

locate -i -r /node$

Nếu định vị không hỗ trợ regrec, bạn có thể sử dụng grep (như được đề cập bởi Iracicot):

locate node | grep /node$
locate -i node | grep -i /node$

Ngoài ra, bạn có thể sử dụng công -btắc để chỉ khớp với tên cơ sở:locate -br node$
Sarke

6

Bạn có thể sử dụng grep với định vị

server2# locate node | grep node$

Dấu $ sẽ cho grep xem phần cuối của chuỗi.


1
Kết quả là như nhau. Nó mang đến các kết quả khớp khác nhau kết thúc bằng nút ... / usr / cổng / www / p5-WebService-Linode. Tôi đoán nó phải là / nút $?
Alex G

Có, bạn cũng có thể thử điều này (Nhưng tôi không chắc liệu / ký tự có phải được thoát hay không). Bạn đã thử định vị -b?
lracicot

0

Vô hiệu hóa locatetoàn cầu ngầm bằng cách thêm toàn cầu của riêng bạn phù hợp với tất cả các thư mục:

locate */node

Từ trang người đàn ông:

Nếu bất kỳ PATTERNkhông chứa ký tự toàn cầu, xác định vị trí hành vi như thể mẫu*PATTERN*

Cú pháp này sẽ khớp với một tên tập tin hoặc thư mục đầy đủ ở bất cứ đâu, kể cả trong thư mục gốc.

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.