Bash 在while循环中,我无法打印字符串

Bash 在while循环中,我无法打印字符串,bash,shell,Bash,Shell,我不熟悉脚本编写 #!/bin/bash #set -x cat /proc/net/dev > net while read -r line do tx_bytes=$(echo $line | tac | head -n1 | awk '{print $2}') echo $tx_bytes done <net 打印最后一行的值: awk 'END{print $2}' /proc/net/dev 使用第一列中的enp5s0:打印第二列中的值 awk '$

我不熟悉脚本编写

#!/bin/bash
#set -x
cat /proc/net/dev > net
while read -r line
do
    tx_bytes=$(echo $line | tac | head -n1 | awk '{print $2}')
    echo $tx_bytes  
done <net

打印最后一行的值:

awk 'END{print $2}' /proc/net/dev
使用第一列中的
enp5s0:
打印第二列中的值

awk '$1=="enp5s0:" {print $2}' /proc/net/dev

打印最后一行的值:

awk 'END{print $2}' /proc/net/dev
使用第一列中的
enp5s0:
打印第二列中的值

awk '$1=="enp5s0:" {print $2}' /proc/net/dev

请将该示例输入的所需输出添加到您的问题中。使用
tac | head-n1
,您想要实现什么?您的while循环将逐行读取,因此在每种情况下,
$line
都是文件的一行。我正在尝试打印118249235请将该示例输入的所需输出添加到您的问题中。您使用
tac|head-n1
试图实现什么?您的while循环将逐行读取,因此在每种情况下,
$line
都是文件的一行。我正在尝试打印118249235