0

〜1500個の同じ形式のtxtファイルのそれぞれから1行のテキストを抽出し、これらの行のすべての値を、対応する日付(txtファイル名)とともにcsvファイルに保存しようとしています。

上記のtxtファイルの行はこのようにフォーマットされています(上下にデータの行があります):

DAILY AVG:       14.64          9.49          9.46          0.16       243.71

最終的に次のような xls ファイルを生成したいと考えています。

Date      AVG1   AVG2  AVG3  AVG4  AVG5
12-13-06  14.64  9.49  9.46  0.16  243.71

grep または awk の使用を検討しましたが、率直に言って、どこから始めればよいかわかりません。コマンド ライン バッチ プロシージャは最適な攻撃手段ですか? 望ましい最終結果は、これらの毎日の平均をすべて、対応する日付とともに Excel スプレッドシートにインポートすることです。Excel のインポート txt オプションはファイルごとに機能しますが、ここでの問題は、1500 個の個々のファイルを txt から xls ファイルに手動でインポートするのに時間がかかることです。

洞察や方向性は大歓迎です。

4

2 に答える 2

0

この bash シェル スクリプトを使用できます。

#!/bin/sh

echo Date AVG1 AVG2 AVG3 AVG4 AVG5 > output.txt
for i in *.txt
do  
    STRING=${i%.txt}
    DATA=`cat $i | tr -s ' ' | cut -d ' ' -f 3-`
    echo $STRING $DATA >> output.txt
done

すべてのデータ ファイルが現在のディレクトリにあると仮定すると、これにより目的の出力が に配置されますoutput.txt。その後、これを Excel に読み込むことができます。

于 2013-08-15T06:52:39.820 に答える