让 echo “2: eth0:” | awk ‘{print $2}’ 输出eth0

95次阅读

共计 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)}’ 根据字符长度打印

正文完
 0