我有一个shell脚本,用于循环输入以获取数字和字符串。如果我想测试循环中的数字,我可以剪切循环变量来获取数字吗?例如,像:
for line in input
do
num=`cut -f1 $line`
...
done
如果没有,我还能怎样做到这一点?
答案 0 :(得分:2)
而不是:
num=`cut -f1 $line`
你可以这样做:
num=$(echo "$line" | cut -f1)
或者使用awk:
num=$(awk '{print $1}' <<< $line)
或使用纯BASH:
num=${line%% *}
您的命令cut -f1 $line
将尝试从名为$line
的文件中删除第一列。
答案 1 :(得分:0)
这是你想要的吗?
while read -r number str
do
echo $number;
echo $str;
done < input