cuốn sách gpt4 ai đã làm

linux - Cách xóa file sau khi sử dụng hàm grep

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 12:30:55 27 4
mua khóa gpt4 Nike

Tôi có lệnh sau:

grep -rnw '/root/serviceDown/' -e "Dịch vụ 'httpd' trên máy chủ hiện không hoạt động"

Kết quả như sau:

/root/serviceDown/2946/000.conf:5:subject=Dịch vụ 'httpd' trên máy chủ hiện không hoạt động
/root/serviceDown/2955/000.conf:5:subject=Dịch vụ 'httpd' trên máy chủ hiện không hoạt động

Cách viết kịch bản trong grep Xóa các tập tin này sau lệnh và sau đó khởi động lại máy chủ?

câu trả lời hay nhất

Đây có thể là những gì bạn đang tìm kiếm:

grep -lr "Dịch vụ 'httpd' trên máy chủ hiện không hoạt động" /root/serviceDown/ 2>/dev/null |

-N-w Cờ không có ý nghĩa thực sự đối với mục đích của bạn, thông tin bổ sung mà chúng tạo ra chỉ có ở đó. Theo như tôi biết,-e Cờ cũng không bắt buộc và bạn không cần giải thích chế độ mở rộng cho các chuỗi bạn sử dụng. -l cờ giảm đầu ra thành tên của các tệp phù hợp. bạn sử dụng 2>/dev/null Lọc đầu ra lỗi và cuối cùng chuyển danh sách tệp kết quả sang cách sử dụng đơn giản rm của xargs Tiện ích > Lệnh xóa tập tin.

Việc khởi động lại quy trình máy chủ sau đó có thể được thực hiện bằng bất kỳ lệnh nào bạn thường sử dụng, chỉ cần thêm vào lệnh trênsau đóThực hiện thủ công hoặc thông qua đơn giản ; Việc tách được thực hiện trong một lần.

Rõ ràng bạn cần có đủ đặc quyền hệ thống để thực thi hai lệnh này...


Để xử lý nâng cao hơn các kết quả mà bạn đề xuất trong nhận xét bên dưới, tôi khuyên bạn nên triển khai một tập lệnh đơn giản. Điều này mang lại sự linh hoạt cao hơn, dễ đọc và bảo trì hơn, đồng thời cũng cho phép thực thi dưới dạng một lệnh duy nhất.

Đây có thể là điểm khởi đầu của bạn:

#!/bin/bash

# tìm nạp danh sách các tập tin phù hợp
list=`grep -lr "Dịch vụ 'httpd' trên máy chủ hiện không hoạt động" /root/serviceDown/ 2>/dev/null`
nếu [[ -z "$list" ]] thì
echo "Không có tập tin nào phù hợp, không thể làm gì được...";
ra
fi

# xóa từng tập tin một
để khớp trong danh sách $
do
echo "Đang xóa tập tin trùng khớp $match..."
echo `rm $match`
xong
# khởi động lại quá trình máy chủ
echo "Đang khởi động lại quá trình máy chủ..."
`khởi động lại dịch vụ httpd`
# về cơ bản là vậy
tiếng vang "...xong."

Lưu tập lệnh này vào PATH Trong một thư mục trong biến môi trường (ví dụ /root/bin/restartFailedHttpdServer), làm cho nó có thể thực thi được (chmod u+x/root/bin/restartFailedHttpdServer) cuối cùng thực hiện (khởi động lạiFailedHttpdServer).

Về linux - cách xóa tệp sau khi sử dụng hàm grep, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43317131/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress