以下脚本中的错误是什么?
#! /bin/tcsh -f
cut -d" " -f2 ${1} | ./rankHelper
脚本rankHelper:
#! /bin/tcsh -f
set line = ($<)
while(${#line} != 0)
cat $line
set line = ($<)
end
发送数据的文件lines
:
053-3787837 038280083
052-3436363 012345678
053-3232287 038280083
054-3923898 033333333
052-2222333 012345678
052-1111111 012390387
我使用以下方式运行:
> ./rank lines
为什么我只收到以下一个号码?
038280083
我认为cut
必须从所有行中删除两个字段。我希望从行中的所有行看到第二个字段:
dos2unix: converting file rank to UNIX format ...
> ./rank lines
>
> cat -A rank
#! /bin/tcsh -f$
cut -d" " -f2 ${1} | ./rankHelper
> cat -A rankHelper
#! /bin/tcsh -f$
set line = ($<)$
$
$
while(${#line} != 0)$
$
echo $line$
set line = ($<)$
end
我正在研究C shell。
答案 0 :(得分:1)
我将rank
更改为:
#! /bin/tcsh -f
cut -d" " -f2 ${1}
然后跑
> ./rank lines
它对我有用。
修改:如果由于某种原因(作业?)仍想使用rankHelper
,请尝试在rankHelper
命令中更改
cat $line
到
echo $line