Cut 命令截取不同空格的string

eth0      Link encap:Ethernet  HWaddr 00:0C:29:16:79:98

例如这一串中间空格数量不一样cut 是无法截取字段的。所以我们需要把他变成有规律的。

这里我们就用到tr 转换

tr -s ‘ ’  (ps:单引号里面有一个空格字符串哦)

如果 -s 标志已经指定,则 tr 命令就会除去包含在 String1 或 String2 中的任何字符串系列中的除第一个字符以外的所有字符。对于包含在 String1 中的每一个字符,tr 命令会从标准输出中除去除第一个出现的字符以外的所有字符。对于包含在 String2 中的每一个字符,tr 命令除去标准输出的字符序列中除第一个出现的字符以外的所有字符

echo "eth0      Link encap:Ethernet  HWaddr 00:0C:29:16:79:98"
eth0      Link encap:Ethernet  HWaddr 00:0C:29:16:79:98

echo "eth0      Link encap:Ethernet  HWaddr 00:0C:29:16:79:98"|tr -s ' '
eth0 Link encap:Ethernet HWaddr 00:0C:29:16:79:98

echo "eth0      Link encap:Ethernet  HWaddr 00:0C:29:16:79:98"|tr -s ' '|cut -d ' ' -f5
00:0C:29:16:79:98

 记录点滴                     by:-v

如果对你有帮助,微信扫码关注一下吧!

微信
原文地址:https://www.cnblogs.com/shiyiwen/p/5018795.html