0

我有一个 shell 脚本,它对输入进行 for 循环以获取数字和字符串。如果我想测试循环中的数字,我可以剪切循环变量以获得数字吗?例如,类似:

for line in input
do
num=`cut -f1 $line`
...
done

如果没有,我还能如何做到这一点?

4

2 回答 2

2

代替:

num=`cut -f1 $line`

你可以做:

num=$(echo "$line" | cut -f1)

或者使用 awk:

num=$(awk '{print $1}' <<< $line)

或使用纯 BASH:

num=${line%% *}

您的命令cut -f1 $line将尝试从名为$line.

于 2013-08-16T17:11:37.410 回答
0

这是你想要的吗?

 while read -r number str
 do
   echo $number;
   echo $str;
 done < input
于 2013-08-16T17:13:05.567 回答