ifconfig
저는 OpenSUSE를 사용하고 있습니다. 내가 달릴 때 ifconfig eth0
나는 얻는다.
eth0 Link encap:Ethernet HWaddr CE:FD:75:DF:A5:6D
inet addr:172.16.4.177 Bcast:172.16.5.255 Mask:255.255.254.0
inet6 addr: fe80::adfd:75ef:fedf:v56d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11812456 errors:0 dropped:2 overruns:0 frame:0
TX packets:7000495 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2591436376 (2471.3 Mb) TX bytes:9196901478 (8770.8 Mb)
sed
다음을 사용하여 각 인수가 새 줄에 반환되도록 형식을 지정하고 싶습니다 awk
.
eth0
Link encap:Ethernet
HWaddr CE:FD:75:DF:A5:6D
inet addr:172.16.4.177
Bcast:172.16.5.255
Mask:255.255.254.0
inet6 addr: fe80::adfd:75ef:fedf:v56d/64
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500
Metric:1
RX packets:11812456
errors:0
dropped:2
overruns:0
frame:0
TX packets:7000495
errors:0
dropped:0
overruns:0
carrier:0
collisions:0
txqueuelen:1000
RX bytes:2591436376 (2471.3 Mb)
TX bytes:9196901478 (8770.8 Mb)
나는 ifconfig eth0 | sed 's/ /\r/'
그것을 시도했지만 이중 공간으로 분리되지 않는 것 같습니다.
답변1
당신은부터 시작할 수 있습니다
sed 's/\(:[^: ]\+\) \([^(]\)/\1\n\2/g;s/\()\)/\1\n/;s/^ \+//'
충분히 가까워야 하며 더 단순화하고 최적화할 수 있습니다. 결과:
eth0 Link encap:Ethernet
HWaddr CE:FD:75:DF:A5:6D
inet addr:172.16.4.177
Bcast:172.16.5.255
Mask:255.255.254.0
inet6 addr: fe80::adfd:75ef:fedf:v56d/64
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500
Metric:1
RX packets:11812456
errors:0
dropped:2
overruns:0
frame:0
TX packets:7000495
errors:0
dropped:0
overruns:0
carrier:0
collisions:0
txqueuelen:1000
RX bytes:2591436376 (2471.3 Mb)
TX bytes:9196901478 (8770.8 Mb)
답변2
다음 스크립트는 =
기호의 중간 대체를 사용합니다(원하는 기호로 자유롭게 변경하세요).
#!/bin/sed -f
s/\s\+\s/=/g
/:[^=:]\+:/s/:[^=:]\+ /&=/g
s/^=/\t/
s/ *=$//
s/ *=/\n\t/g
그래서
ifconfig eth0 | sed -f script.above
산출:
eth0
Link encap:Ethernet
HWaddr 74:2f:68:8b:b8:6e
inet addr:192.168.1.247
Bcast:192.168.1.255
Mask:255.255.255.224
inet6 addr: fe80::762f:68ff:fe8b:b86e/64
Scope:Link
UP BROADCAST RUNNING MULTICAST
MTU:1500
Metric:1
RX packets:3128543
errors:0
dropped:1
overruns:0
frame:0
TX packets:1346967
errors:0
dropped:0
overruns:0
carrier:0
collisions:0
txqueuelen:1000
RX bytes:4538616348 (4.5 GB)
TX bytes:118149772 (118.1 MB)