0

ファイル minimumThickness*.k からいくつかのデータを抽出し、それをファイル results.txt に入れたいと考えています。ファイル mimimumThickness*.k には、最初の行に double の値しかありません。

ファイル minimumThickness.k は、1 から 100 までの一連のファイルです。

mimimumThickness1.k
mimimumThickness2.k
mimimumThickness3.k
. . .
. . .
mimimumThickness100.k

私はそれを行うために次のコマンドを使用していましたが、成功しませんでした。

 sed -n '/^[0-9.]*$/w results.txt' minimumThickness*.k 

私も使うことができました

for loop of i over 1 to hundred 

thickness=´cat minimumThickness$i.k | {print $1} ' | bc` 
echo $thickness 
thickess >> results.txt

親切に sed の問題について教えてください。または、sed のより良い使用方法を提案してください。エレガントな方法をいただければ幸いです。

よろしくお願いします。

4

3 に答える 3

0

各ファイルの最初の行だけが必要な場合:

head -n 1 minimumThickness*.k > results.txt
于 2012-04-13T14:09:19.810 に答える
0

これはうまくいくかもしれません(GNU sed):

sed -sn '1w results.txt' minimumThickness*.k 

また

head -qn1 minimumThickness*.k > results.txt
于 2012-04-14T06:57:38.820 に答える
0

[0-9.]* は何にでも一致するため、期待どおりの結果が得られない場合があります。[0-9]*\.[0-9]* を試して double を取得できます (いくつかの変更を加えて)。

于 2012-04-13T14:06:15.083 に答える