Linux

如何過濾(排除)bash中的某些輸出

  • July 3, 2016

我有一個跟踪我們的 AWS CloudWatch 日誌的流程。它工作得很好,除了每一行都以 CloudWatch 組和容器 ID 為前綴。例如:

core-api 04a7ce3daf83aa018a92eb4a613c87354695dc8219f213697f7f786b81d4d [PROD] - INFO: GET 200 - 5ms core-api 04a7ce3daf83aa018a92eb4a613c87354695dc8219f213697f7f786b81d4d [PROD] - INFO: POST 200 - 7ms

有沒有辦法將我的日誌命令與某種類型的過濾器一起使用以僅在之後顯示行資訊[PROD] -

您可以嘗試使用cut來剪切您感興趣的列。

tail -f whatever | cut -d ' ' -f 3-

[PROD] - INFO: GET 200 - 5ms
[PROD] - INFO: POST 200 - 7ms

-d會將空格設置為欄位分隔符,並-f指定僅顯示第三個和後續欄位。

指定欄位也會變得更複雜。假設您只是真的想擺脫那個煩人的無用的第二個欄位。然後您可以指定-f 1,3-.

core-api [PROD] - INFO: GET 200 - 5ms
core-api [PROD] - INFO: POST 200 - 7ms

cut有關您可以使用此命令執行的更多操作,請參見手冊頁。

引用自:https://serverfault.com/questions/787659