0

次のスクリプトのバグは何ですか?

#! /bin/tcsh -f
cut -d" " -f2 ${1} | ./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

次の 1 つの番号しか受信できないのはなぜですか?

038280083

cutすべての行から 2 つのフィールドを切り取る必要があると考えました。行のすべての行から 2 番目のフィールドが表示されることを期待しています。

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 シェルに取り組んでいます。

4

1 に答える 1

1

私はこれに変更rankしました:

#! /bin/tcsh -f
cut -d" " -f2 ${1}

そして走った

> ./rank lines

そしてそれは私のために働いた。

編集:rankHelper何らかの理由(宿題?)でまだ使用したい場合はrankHelper、コマンドで変更してみてください

cat $line

echo $line
于 2010-06-01T20:30:33.507 に答える