Linux
提取具有多個基行的每一列的第一行
例如:
docker0: flags=4099<UP,BROADCAST,MULTICAST inetasdfsd fdsfdsf sdfdsf asfdsa dafdsg sfgfsg sgsgd dockerApps: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> inet dsfsdf sdfds sdfdsf inetdfdsf sdgdsg gdsgdsg sdgds ens192: flags=4163<UP,BROADCAST inet sfsf sf sf sf sf sf s inedfs sf s sffs fsf sf s
我想要的是:
docker0: flags=4099<UP,BROADCAST,MULTICAST dockerApps: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ens192: flags=4163<UP,BROADCAST
以此類推,不光是上面三個對應,根據ifconfig的輸出,需要擷取介面狀態,都有
*幫助列印 $1 贈送
docker0: dockerApps: ens192:
如果要列印所有不以空格開頭的行,可以使用
grep '^[^ ]'
如果是空格或製表符,您可以使用 POSIX 類:
grep '^[^[:space:]]'
第一個
^
表示一行的開頭,外部[]
引入了一個字元類。字元類的^
內部否定它,因此它匹配除列出的字元之外的所有字元。[:space:]
匹配任何空格。
ifconfig | awk '/docker|ens192/{print $0}'
請在我測試時使用上面的命令,它工作正常。