2011-11-09 9 views
2

私はLinuxのスクリプトに慣れていますが、私は構文が少し複雑です。Linuxスクリプト構文の参考にしてください。 (while while while loop syntax)

Linuxのコマンドを書く方法を記述している人はいないでしょうか?そこにはLinuxスクリプトの仕様がありますか?

が、私はこの作業を取得しようとしている:

from=$1 
to=$2 

rm SelectedSummedDatFiles 
mkdir SelectedSummedDatFiles 

ls *summed.dat > allSummedDatFiles 


while read summedDatFile 

    do 
    echo $summedDatFile 
    number=`echo $summedDatFile | grep -o "[0-9]\{6\}"` 

    if [ $number -le $to ] && [ $number -ge $from ] 
    then cp $summedDatFile SelectedSummedDatFiles/$summedDatFile 
    fi 

done < allSummedDatFiles 
+2

男bash' 'を見てみましょうを得るためには、(' bashのを想定して行うことができます'はあなたが使っているシェルです)。 – NPE

+0

通常 "man bash"または "man sh"は良い出発点です。しかし、私はあなたがhttp://www.freeos.com/guides/lsst/を見てみることをお勧めします。これは、シェルスクリプトについての非常に良い簡単なチュートリアルです。 – BigMike

答えて

0

あなたはボーン - Againシェルに言及していると仮定すると、Advanced Bash-Scripting Guideは完全な、非常に包括的で、最新の状態に。私はそれをお勧めします。

0

私はこのようにそれを行うだろう:

from=$1 
to=$2 

# rm SelectedSummedDatFiles # should this be a rmdir? 
mkdir SelectedSummedDatFiles 

for summedDatFile ind *summed.dat; do 
    echo "$summedDatFile" 
    number=`echo "$summedDatFile" | grep -o "[0-9]\{6\}"` 

    if [ "$number" -le "$to" ] && [ "$number" -ge "$from" ]; then 
     cp "$summedDatFile" SelectedSummedDatFiles/"$summedDatFile" 
    fi 
done 

しかし、私はそれが動作しないように表示されていない...

0

あなたはbashのを使用している場合は、

$ help if 
$ help while 

か、単に

$ help 

は完全な構文