我有一个 shell 脚本,它对输入进行 for 循环以获取数字和字符串。如果我想测试循环中的数字,我可以剪切循环变量以获得数字吗?例如,类似:
for line in input
do
num=`cut -f1 $line`
...
done
如果没有,我还能如何做到这一点?
代替:
num=`cut -f1 $line`
你可以做:
num=$(echo "$line" | cut -f1)
或者使用 awk:
num=$(awk '{print $1}' <<< $line)
或使用纯 BASH:
num=${line%% *}
您的命令cut -f1 $line
将尝试从名为$line
.
这是你想要的吗?
while read -r number str
do
echo $number;
echo $str;
done < input