一個日志檔案如下,我需要讀取檔案,并輸出這樣的結果:usr1 命令:AAA 結果成功
執行結果:成功。
XXXX(描述資訊)
用戶:usr1 執行命令:AAA
執行結果:失敗。
XXXX(描述資訊)
用戶:usr1 執行命令:BBB
現在能通過grep定位到“用戶:usr1 執行命令:AAA”的行號,請問怎么獲取上兩行的執行結果,并且把需要的欄位取出來拼成一行呢?
用sed -n '3p;1p' 輸出的是先結果,后用戶,怎么能顛倒一下呢?謝謝
uj5u.com熱心網友回復:
awk '/執行結果/{a=$0;next}{print $0?$0" "a:$0}' a.log|grep "用戶"|sed 's/用戶://;s/執行命令:/命令:/;s/執行結果:/結果/'你這個問題跟之前的很像啊,有時間的話可以自己研究一下awk這個工具的使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/200301.html
標籤:IBM AIX
