confirmerror(){
trimline|awk -F ':' '{if(5 !="") print}'
}
result(){
deviceName=$($1|awk '{print 4}')
processId=$($1|awk '{print 5}'/span>|awk -F '[^0-9]*' '{print 2}')
processName=$($1|awk '{print 5}'/span>)
description=$($1|awk '{print 6,$7,$8,$9}'/span>)
echo $deviceName
echo $processId
echo $processName $processName
echo $description
}
confirmerror | while read line; do result $line; done>
函式confirmerror的OUTPUT:
5月13日 00:01:58 BBAOMACBOOKAIR2 com.apple.xpc.launchd[1] (com.apple.mdworker.bundles[12513])。無法找到與服務相關的UID:0:未定義的錯誤。0 501
5月13日 00:01:58 BBAOMACBOOKAIR2 com.apple.xpc.launchd[1] (com.apple.mdworker.bundles[12513])。服務退出了,代碼不正常。78
5月13日 00:02:12 BBAOMACBOOKAIR2 com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.pid.mdmclient.12523)。引導路徑失敗:路徑 = /usr/libexec/mdmclient,錯誤 = 108。無效路徑
需要讀取函式x的每一行,處理后得到相應的格式輸出,上面是我的嘗試,但是失敗了,所以來求教。
我想要什么:
BBAOMACBOOKAIR2
1
com.apple.xpc.launchd[1] 。
(com.apple.mdworker.bundles[12513])。無法找到與服務相關的UID:0:未定義的錯誤。0 501
bbaomacbookair2
1
com.apple.xpc.launchd[1]。
(com.apple.mdworker.bundles[12513])。服務退出,代碼例外。78
bbaomacbookair2
1
com.apple.xpc.launchd[1] 。
(com.apple.xpc.launchd.domain.pid.mdmclient.12523)。引導路徑失敗:路徑 = /usr/libexec/mdmclient,錯誤 = 108。無效路徑
uj5u.com熱心網友回復:
我認為,對于這項作業來說太復雜了。你有awk,所以用它來做這個作業吧。
檔案:error.awk
{
gsub(/^ */, ""/span>, $0)
gsub(/ *$/, ""/span>, $0)
FS = ":"/span>, $0.
if ($5 == " ") {
下一個
}
}
{
FS = " "/span>
deviceName =$4
processId=$5
gsub(/^.*[/, ""/span>, processId)
gsub(/].*$/, ""/span>, processId)
processName = $5 "", processId
$1 =$2 =$3 = $4 = $5 = "
gsub(/^ */, ""/span>, $0)
描述=$0
print deviceName
列印 processId
列印 processName
列印 描述
}
并且使用它:
output_command_or_cat_filename | awk -f error.awk
輸出:
BBAOMACBOOKAIR2
1
com.apple.xpc.launchd[1]。
(com.apple.mdworker.bundles[12513])。無法找到與服務相關的UID:0:未定義的錯誤。0 501
bbaomacbookair2
1
com.apple.xpc.launchd[1]。
(com.apple.mdworker.bundles[12513])。服務退出,代碼例外。78
bbaomacbookair2
1
com.apple.xpc.launchd[1] 。
(com.apple.xpc.launchd.domain.pid.mdmclient.12523)。引導路徑失敗:路徑 = /usr/libexec/mdmclient,錯誤 = 108。無效路徑
uj5u.com熱心網友回復:
這是你想做的嗎?
這是你想做的嗎?
$ cat tst.sh
#!/usr/bin/env bash。
# 使用 "cat file "代替我沒有的 "trimline"。
cat file |
awk '
{ split($0,errChk,/:/) }
errChk[5] != "" {
設備名稱 = 4美元
processId = processName = 5
gsub(/.*[|].*/,",processId)
description = $0
sub(/[^(]*/,"",description)
列印設備名稱
列印processId
列印行程名稱
列印描述
}
'
$ ./tst.sh
bbaomacbookair2
1
com.apple.xpc.launchd[1]。
(com.apple.mdworker.bundles[12513])。無法找到與服務相關的 uid:0:未定義的錯誤。0 501
bbaomacbookair2
1
com.apple.xpc.launchd[1]。
(com.apple.mdworker.bundles[12513])。服務退出,代碼例外。78
bbaomacbookair2
1
com.apple.xpc.launchd[1] 。
(com.apple.xpc.launchd.domain.pid.mdmclient.12523)。引導路徑失敗:路徑 = /usr/libexec/mdmclient,錯誤 = 108。無效路徑
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/327314.html
標籤:
