• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ある操作に対するコマンド文が分りません(UNIX))

UNIXを使ってバッチファイルでデータ解析を自動化する方法と特定の数値範囲を抽出する方法

このQ&Aのポイント
  • UNIXを用いてデータ解析を自動化する方法と特定の数値範囲を抽出する方法について説明します。
  • データ解析をバッチファイルで行うためには、適切なUNIXコマンドを使用する必要があります。この記事では、具体的なコマンドの使用方法について説明します。
  • また、特定の数値範囲を抽出するためには、grepコマンドを使用することができます。詳細なコマンドの書き方についても説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.3

通知メールでは空白で区切られてますので、どうやら okwave の表示がおかしいみたいですね。 それでメールの方はデリミタに、タブとスペース両方が混ざった状態なんですが、それだと awk の -F オプションを -F'[\t :]+' とかいっその事 -F'[[:space:]:]+' としないと項目の分離が上手くいきません。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.2

paste -d: a.txt b.txt | awk -F'[ :]+' '{printf "%.8f %.8f\n",1.0/$2,-$4/$7}' > c.txt みたいのでいいんですかね? ただ気になるのが各列の区切りに空白文字が、あったり無かったりすることです。一応ある前提で、こっちで修正したデータ使ってテストしたんですが、答えが全然合いません。perl に置き換えても一緒っぽいけど? -5.00000000 0.46729560 -5.01253447 0.44522293 -5.02513194 0.45032258 -5.03779289 0.47254902 -5.05051780 0.48026316 -5.06330716 0.46466667 おまけについては grep '^-5.0[2-5]' c.txt

marblexleo
質問者

補足

回答ありがとうございます。 申し訳ありません、質問文の確認ミスです。 正しくは以下のような区切りのデータです。 【A.datファイル】 flux1: -0.2 -8.83E-06 7.43E-06 flux1: -0.199499875 -9.09E-06 6.99E-06 flux1: -0.19899975 -8.70E-06 6.98E-06 flux1: -0.198499625 -8.04E-06 7.23E-06 flux1: -0.1979995 -7.81E-06 7.30E-06 flux1: -0.197499375 -8.21E-06 6.97E-06 【B.datファイル】 flux1: -0.2 -1.59E-05 -1.59E-05 flux1: -0.199499875 -1.57E-05 -1.57E-05 flux1: -0.19899975 -1.55E-05 -1.55E-05 flux1: -0.198499625 -1.53E-05 -1.53E-05 flux1: -0.1979995 -1.52E-05 -1.52E-05 flux1: -0.197499375 -1.50E-05 -1.50E-05 【C.datファイル(最終的に出力したいファイル)】 -5      0.467339354 -5.01253447 0.445290436 -5.025131943 0.449360934 -5.037792895 0.470909614 -5.050517808 0.481591986 -5.063307166 0.465199238 ご指摘いただいた方法を試してみます!

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

無理にシェルスクリプトで書こうとあがくより, 何らかのプログラム言語を使う方がいいと思うなぁ.

すると、全ての回答が全文表示されます。

関連するQ&A