Monday, 25 May 2020

[CLI/Python] find prune path - cắt giảm bài toán tìm kiếm 10 lần

`find` là câu lệnh dùng để tìm file dựa theo tên, vốn không kém tiếng "khó dùng", nhưng vẫn được dùng, do nó được cài sẵn ở mọi hệ điều hành Unixoid (Unix/Linux).


find - huyền thoại

Một lệnh find đơn giản để tìm các file .py trong thư mục /usr

$ time -p find /usr/ -name '*.py' | wc -l
11013
real 0,39
user 0,15
sys 0,24

11013 file này gồm file từ nhiều thư mục khác nhau.

$ time -p find /usr/ -name '*.py' | cut -f-3 -d '/' | sort | uniq -c | sort -nr | head
   9286 /usr/lib
   1644 /usr/share
     78 /usr/src
      5 /usr/local
real 0,39
user 0,17
sys 0,24