![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| ファイルからデータを選択的に抽出 | dwgi32 | シェルプログラミングとスクリプティング | 3 | 2009年6月26日 05:52午前 |
| テキストからの抽出を繰り返し、複数のデータファイル | apjneeraj | シェルプログラミングとスクリプティング | 5 | 2009年4月14日 03:40午前 |
| 特定のパターンは以下のように、テキストファイルからデータを抽出 | mohkris | UNIXの詳細&エキスパートのためのユーザー | 4 | 2008年9月23日 08:09午前 |
| 複数のファイルからデータを読み、その値を合計 | nvuradi | シェルプログラミングとスクリプティング | 9 | 2008年9月11日 02:08午後 |
| 1テキストファイルをフォルダにはgrepを複数のテキストファイルですか? | 赤みがかった銅色 | UNIXのダミー質問と回答のため | 7 | 2002年8月23日 03:50午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
ハロー親愛なる友人、
私の問題は本当に基本的な説明は次のように思われる。 実際は、私は完全にプログラミングを始めたばかりだ、とするスクリプトを生成するだけで1週間を過ごす( CShellまたは Perlの ? )このアクションを実行します。 一方、フォーラムで検索を、私はそれは私の助けとなるようなコマンドが見つかりましたが、私はそれを正しく使用する方法を知らない: sを しかし、まず第一。 。 。コンテキスト。 私は7300のテキストファイルがそれぞれの情報のと同じタイプを含む。 下記の方法が書かれているテキストファイルが表示されます: 3つのパラメータをオン05JAN01 。 1 AZU1のSTAのX - 0.247297943318988E +07 + - 0.241394876950605E - 02 2 AZU1のSTAイ - 0.467133800760033E +07 + - 0.374164031593362E - 02 3 AZU1のSTA Ž 0.355810775092403E +07 + - 0.257172727253398E - 02 2月1日0.571958818322482E +00 3 1 - 0.659378461245129E +00 3 2 - 0.847505892381651E +00 AZU1アンテナのLC 0.1636 0.0000 0.0000 !北(オス)東 すべてのデータを分析するために、私は大胆な値を抽出する必要があると、 Excelファイル(または同等) 、またはテキストファイルに(ただし、その後の行には、 3つの値を、そしておそらく、それぞれが別の列に置くCSVファイルを作成する)してください。 終了するには、私は別のフォルダに、このようなファイルがあります。 。 。 。とは亜喬木の差の3または4のレベルだ。として: desktop/data_2005/05JAN01/out/solution/05JAN01AZU1_fix.txt desktop/data_2005/05JAN02/out/solution/05JAN02AZU1_fix.txt と、これを一年になります。 。 。 このアイディアは、私は推測するのはgrepコマンドを使用すること: 私が試した、この"egrep " 1 | 2 | 3 " < 05JAN01AZU1_fix.stacov.txt awkは' ( ) $ 5を印刷する| ' > > output.txt"でも正常に動作しません。これは、きれいに3つの値を変更したいときは、出力した " 1 | 2 | 3 "に " 10 | 20 | 30 " し、値を変更した 1,2,3 〜へ 10,20,30の3つの前に 値 私を抽出している。 そのためには、基本的に。 。 。私は、私のファイルは、 ExcelやCSVファイルの同じ行にする3つの別々の列にしたいの3つの値を含む1年のそれぞれの日のためのテキストファイルがあります。 私は自分の価値観を正しく抽出する方法を見つけることもまた、私は、ループのようなものを書くことがすべてのフォルダを1年の(日)を受ける必要があるれていると思う。 CShellまたは Perlの ? さらに私は誰でも行くために1つ以上のアイデアがありますか? その場合にドロップする場合は、私は満足しているよ ありがとう。 。 。 シモンズ:私はフォーラムのルールを書いたのか分からない。 。 。ポイントnー15 "のフォーラムでの喫煙を"私微笑した。 。 。 ![]() |
|
||||
|
cshell使用しないでください-大学のように聞こえるが...ボーンkshあるいはbashの場合、またはお持ちですか? cshを避けるために非常に有効な理由がある。
ここには非Cshell答えは コード:
find /desktop/data_2005 -name '*AZU1_fix.txt' |
while read filename
do
awk '{ printf("%s ", $5)} END {printf("\n")} ' $filename
done | tr -s ' ' ',' > data_2005.csv
|
|
||||
|
非常にジムありがとうございます、完全に動作しません
私はまだ完全にその仕組みを理解して検索する必要があります。 。 。 つまり、すべての構文。 。 。私は出力には、日程にも、最初の列で" 05JAN01 "などのようになる。 。 。 私は、 CSVファイル内のtxtファイルの値とその値の間には違いありません。 。 。 例えば、最初の値"です-0.247297943318988メール+07 " (私の最初の記事で) 、 " -2472979になるの例を参照してください。90616501それだ" ( 10進数の部分)が、私は実際には精度が必要私はまだ知らない。 。 。 。 。私はこのチェックをしています。 任意のアイデアですか? あなたのコードを私は大いに役立つだろう。 。 。再びありがとうございます! Ackheron 。 編集ackheronで最終; 2009年7月5日に 08:46午前.. |