2017-09-15 14 views
0

私はkshを使用していて、CentOSとUbuntu VMでスクリプトをテストしていますが、問題はありません。しかし、ファイルをUNIXのボックスに移行したとき、wc -lは動作していないようです。以下は私のスクリプトです。unix kshファイルから行数を取得する

filelist=myfile.txt  
filecount=`wc -l ${filelist} | cut -d " " -f 1` 
    echo "File count for $filelist is $filecount" 

私は許可を見て、私はすべてのユーザーのために読んでいます。 Unixで何が問題になっているのですか?ファイルの行数を取得する他の方法はありますか?私は、私の最後の手段としてそれぞれの変数をインクリメントしてから、読み込み線を使うことを考えています。

+0

あなたが見ている何を出力、スクリプトのだけのための両方 'トイレ-l myfile.txt'? –

+0

私はそれをテストするためにunixボックスに再度展開する必要があります。しかし、私のCentOSとUbuntuのVMでは、カウントとファイル名を取得します。 – mtryingtocode

+2

Btw、引数として渡すのではなくファイルからリダイレクトすると、カウントが*ちょうど*得られます。 – o11c

答えて

1

スクリプトに間違いがないように見えるため、展開に問題が発生する可能性があります。おそらく、Windowsのデスクトップがスクリプトのテキストのコピーに関わっていたでしょうか?その場合、各行にLFではなく、末尾のマーカーとしてCRLFが含まれます。次の出力を与える私にとって

: No such file or directory 
+0

Notepad ++を使用するUnixに展開する前に、ファイルのUNIXへのEOL変換を行いました。とにかく私は私の最後の手段に行くだけで、私は時間がなくなっているので、変数をインクリメントし、インクリメントを使用する – mtryingtocode

関連する問題