1
以下是我test.log中文件基於第二列選擇具體的行值
a 1020 491 513 1 0 0 52
a 1000 491 513 1 0 0 53
sa 4011 491 513 1 0 0 0
sa 4010 491 513 1 0 0 1
d 1000 508 0 0 0 0 53
d 1020 508 0 0 0 0 52
a 1000 508 513 1 0 0 54
a 1020 508 513 1 0 0 55
sa 4011 508 1026 2 0 0 2
sa 4010 508 1026 2 0 0 3
sd 4010 508 513 1 0 0 1 QIO1
sa 4021 508 513 1 0 0 1
d 1000 525 0 0 0 0 54
d 1020 525 0 0 0 0 55
sd 4021 525 0 0 0 0 1 QIO2
a 1000 525 513 1 0 0 57
a 1020 525 513 1 0 0 56
sa 4010 525 1026 2 0 0 5
sa 4011 525 1539 3 0 0 4
sd 4011 525 1026 2 0 0 0 QIO1
sa 4021 525 513 1 0 0 0
d 1000 542 0 0 0 0 57
sd 4021 542 0 0 0 0 0 QIO2
d 1020 542 0 0 0 0 56
我想提取具有等於4010和4011只線(第一列= SA或SD)和第二列我嘗試了下面的命令。
cat test.log | grep "sa\|sd" | awk '{if ($2 = "4010"|| $2 ="4011")print}'
但它給了我錯誤的輸出。
我的預期輸出是
sa 4011 491 513 1 0 0 0
sa 4010 491 513 1 0 0 1
sa 4011 508 1026 2 0 0 2
sa 4010 508 1026 2 0 0 3
sd 4010 508 513 1 0 0 1 QIO1
sa 4010 525 1026 2 0 0 5
sa 4011 525 1539 3 0 0 4
sd 4011 525 1026 2 0 0 0 QIO1
有人建議我要去的地方錯了。由於
謝謝,您的解釋 – user2532296
@ user2532296我希望它很清楚。注意'awk'{if(condition)print}''可以被壓縮到僅僅'awk'條件''。 – fedorqui
爲什麼'(a | d)'而是'[01]'?恕我直言'[廣告]'會更有意義。 –