Điểm:0

tìm thư mục và tập tin

lá cờ kw

Tôi hiểu rằng tôi có thể tìm các thư mục có mẫu cụ thể bằng cách sử dụng:

tìm thấy . -type d -name "tmp_*"

Tôi hiểu rằng tôi có thể tìm các tệp có thư mục bằng cách sử dụng:

tìm thấy . -type f -name "tmp.conf"

Làm cách nào để liệt kê tất cả các thư mục bắt đầu bằng tmp_ chứa tệp có tên tmp.conf và liệt kê đường dẫn đến tệp đó?

Cảm ơn!

Điểm:0
lá cờ hr

Bạn đã có thể sử dụng

tìm thấy . -đường dẫn '*/tmp_*/tmp.conf'

hoặc

tìm thấy . -regex '.*/tmp_[^/]*/tmp\.conf'

Sự khác biệt là cái đầu tiên (sử dụng ký tự đại diện shell thông thường) sẽ khớp với những thứ như ./dir/tmp_foo/subdir/tmp.conf bởi vì / không được đối xử đặc biệt bởi *. Cái thứ hai (sử dụng biểu thức chính quy) không bao gồm việc can thiệp / ký tự một cách rõ ràng.

Nếu bạn chỉ muốn đường dẫn đến thư mục chứa (không có tmp.conf tên cơ sở, bạn có thể sử dụng tìm thấy lệnh của -printf với %h người xác định:

tìm thấy . -path '*/tmp_*/tmp.conf' -printf '%h\n'

Ngoài ra, bạn có thể làm điều gì đó như

tìm thấy . -type d -name 'tmp_*' -execdir test -e {}/tmp.conf \; -in

hoặc

tìm thấy . -type d -name 'tmp_*' -exec sh -c '
  for f do [ -e "$f/tmp.conf" ] && echo "$f"; xong
' tìm-sh {} +
Jason H avatar
lá cờ kw
Tôi nghĩ rằng tôi đã quản lý để tìm ra điều này. Tôi đã làm như sau: tìm ./tmp_* -type f -name "tmp.conf" | sắp xếp -f
lá cờ hr
@JasonH nếu bạn chỉ quan tâm đến một tập hợp các thư mục cấp cao nhất thì bạn hoàn toàn không cần `find` - bạn chỉ cần sử dụng `echo tmp_*/tmp.conf` hoặc `printf '%s\n ' tmp_*/tmp.conf` (bạn có thể muốn đặt `shopt -s nullglob` trước).
Điểm:0
lá cờ cn

Có nhiều cách khác nhau để Rome. Tôi có lẽ sẽ tìm kiếm cụ thể cho các tập tin có tên tmp.conf các tệp và có đường dẫn đầy đủ được in cho mỗi lần xuất hiện, như trong

tìm thấy . -type f -name 'tmp.conf' -exec readlink -f {} \;

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.