Điểm:0

Sử dụng awk với số cột trong tập lệnh bash

lá cờ cn

Tôi đang sử dụng một lệnh như thế này để nhận một số kết nối từ nf_conntrack:

awk '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == "dport=1234")' /proc/net/nf_conntrack

Làm cách nào để sử dụng lệnh này bên trong tập lệnh bash và cũng có thể thêm đối số tập lệnh vào đó? Nếu tôi chỉ làm:

awk '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == "dport=$1")' /proc/net/nf_conntrack

Nó sẽ cho rằng tất cả $1,$3,$6,... là các đối số tập lệnh và không thành công. Làm thế nào để tôi tách awk số cột từ các đối số tập lệnh để sử dụng lệnh này đúng cách?

Điểm:1
lá cờ ru

Không cần thiết, nhưng quy tắc ngón tay cái là khai báo rõ ràng các biến bạn muốn chuyển từ env sang awk

awk -v myvar="dport=$1" '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == myvar)' /proc/net/nf_conntrack

Đă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.