共计 1020 个字符,预计需要花费 3 分钟才能阅读完成。
我根据文档写了一个 但是感觉很 low 大佬们还有其他 awk 的方法删除后一个字符嘛? ip a | grep 2: | awk ‘{sub(/:/,””,$2);print $2}’ |
网友回复:
注册 : echo “2: eth0:” | awk -F’:’ ‘{print $2}’
KDE: 你这个问题直接问 AI,保证给你答的妥妥当当
hep: 试试这样,即直接再以冒号 : 分隔后取第一个:ip a | grep 2: | awk ‘{print $2}’ | awk -F ‘:’ ‘{print $1}’ 复制代码 或者直接替换末尾的冒号 : 为空也一样:ip a | grep 2: | awk ‘{print $2}’ | sed ‘s/:$//’ 复制代码
5700pgf: 大佬能帮问问这个嘛?让 echo “2: eth0:” | awk ‘{print $2}’ 输出 eth0
G.K.D: [[email protected] html]# ip a | grep 2: | awk ‘{print substr($2, 1, length($2)-1)}’ eth0 2406:da14:ca7:d200:c412:6097:403c:334e/12 fe80::c042:4789:aac3:6317/6 这个有效就是输出多了两行 想直接用 awk 输出 减少代码量
KDE: 试试看这个 awk。awk -F ‘[:]+’ ‘/2:/{print $(NF-1)}’
KDE: [[email protected] html]# ip a | grep 2: | awk -F ‘[:]+’ ‘/2:/{print $(NF-1)}’ qlen noprefixroute noprefixroute
zc_cz: 这点事还要 awk?感觉除了 awk 就不会其他命令了似的
KDE: 搞不懂, 只去掉结尾冒号吗 sed ‘s/.$//’
注册 : 您可以尝试以下命令来输出 eth0:bash echo “2: eth0:” | awk -F: ‘{print $2}’ | awk ‘{print $1}’ 解释一下这个命令:awk -F: ‘{print $2}’ 表示以冒号作为分隔符,输出第二列的内容,即 ” eth0″。awk ‘{print $1}’ 表示输出第一列的内容,即 “eth0″,这里是为了去掉前面的空格。所以最终输出的结果就是 “eth0″。
注册 :
有点儿意思 : 大佬牛逼
5700pgf: 感谢大佬分享 这里用了两次 awk 了 这无疑增加了代码量…… 刚才问了 chatgtp 他说这样 echo “2: eth0:” | awk ‘{print substr($2, 1, length($2)-1)}’ 根据字符长度打印