Open thienphuong opened 5 years ago
awk '{print $2}')
Lệnh awk là một công cụ mạnh mẽ trong Unix và các hệ điều hành tương tự, được sử dụng để xử lý và hiển thị dữ liệu văn bản theo một số quy tắc cụ thể.
Trong kết quả của lệnh ps aux
, cột thứ nhất là "USER", chứa tên người dùng sở hữu tiến trình. Dưới đây là các cột trong kết quả của lệnh ps aux:
Vì vậy, khi chúng ta sử dụng awk '{print $2}'
, chúng ta đang trích xuất cột thứ 2 (PID), chứa ID tiến trình cần sử dụng trong lệnh kill.
More >>
Trích xuất và hiển thị cột cụ thể:
awk '{print $2}'
: In ra cột thứ hai từ mỗi dòng.Tính toán và hiển thị giá trị tính toán:
awk '{sum += $1} END {print sum}'
: Tính tổng của cột thứ nhất và in ra kết quả khi kết thúc.Lọc dữ liệu dựa trên điều kiện:
awk '$3 > 10 {print $1, $2}'
: In ra cột thứ nhất và thứ hai nếu cột thứ ba lớn hơn 10.Định dạng và xuất dữ liệu:
awk '{printf "Name: %-10s Age: %2d\n", $1, $2}'
: Định dạng và in ra dữ liệu.Xử lý và biến đổi dữ liệu:
awk '{gsub(/old/, "new", $3)} {print}'
: Thay thế mọi chuỗi "old" bằng "new" trong cột thứ ba và in ra dòng kết quả.Sử dụng biến và điều kiện:
awk '{if ($1 > 50) print "High"; else print "Low"}'
: In ra "High" nếu cột thứ nhất lớn hơn 50, ngược lại in ra "Low".
Script
kill $(ps aux | grep emulator | grep -v grep | awk '{print $2}')
Giải thích
ps aux
: Lấy danh sách tất cả các tiến trình đang chạy trên hệ thống.grep emulator
: Lọc ra các dòng có chứa từ "emulator" trong kết quả củaps aux
.grep -v grep
: Loại bỏ dòng chứa chính xác lệnhgrep emulator
để tránh việc bị tự trả về trong kết quả.awk '{print $2}'
: Lấy cột thứ 2 (ID tiến trình) từ kết quả trả về từ lệnhps aux
kill $(...)
: Kết hợp với kill để kết thúc các tiến trình với ID đã tìm được.how-to-kill-all-processes-with-the-same-name-using-os-x-terminal