• 締切済み

AWKのフィールドセパレータの数

こんにちわ フィールドセパレータの数を数えるシェルスクリプトについて質問 させていただきます。 AAAAA:BBBBBB:CCCCCCC ↑まず、このようなデータがあるとします。 このデータのフィールドセパレータを":"とします。 この":"の数を数えるスクリプトを作成するのに悩んでおります。 初心者丸出しの質問で申し訳ありませんが、よろしくお願いします。

みんなの回答

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.1

NFにフィールドの数がセットされます。よってNF-1がフィールドセパレータの数です。 awk -F: ' { print NF-1 }'

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

関連するQ&A

  • accessのフィールドの数

    初心者です。 accessでレポートのフィールドの数というのは、最大でいくつまで可能なのでしょうか? いま扱っているデータを、レポートで印刷しようとすると、ウィザードで作成するさいに、「フィールド数が多すぎます」というようなメッセージが出ます。 デザインでレポートの幅を広げようとしても、一定以上大きくなりません。 よろしくお願いします。

  • access フィールドのサイズ(文字数)変更

    とても単純な質問で申し訳ないのですが、 Access2000でつくったテーブルにデータを入力しようとしたら、 「指定されたデータ量がフィールドサイズを超えています。」と表示されます。文字数を変更すればよいことですが、デザインビューでプロパティをみても文字数を変更するところがありません。(フィールドのサイズは変更できるのですが)。どのようにすればよいか教えていただけますか?

  • フィールドの平均の求め方について

    Accessの初心者です。 現在、フィールド数250、レコード数1500の数字のみの データを持っていて、このデータをExcelで分析しています。 しかし、ファイルサイズ(4MB超)が大きくなりすぎて、動作が遅く、 しかもメモリ不足でよく強制終了するようになったので、 今後はAccessで分析したいと考えています。 そこで、お尋ねですが、 50個のフィールドの平均を求める簡単な方法が分かりません。 現在の私のやり方は、テーブル作成クエリを使って フィールド名:コード番号、名前、0001、0002、・・・・、0250 のデータがあれば、 =([0001]+[0002]+・・・・・+[0050])/50 =([0002]+[0003]+・・・・・+[0051])/50 =([0003]+[0004]+・・・・・+[0052])/50 このように膨大な式を手入力で入力しているので 手間と時間がかかりすぎて困っています。 どなたか、複数フィールドの平均の簡単な求め方を教えてください。

  • マクロで、ひとつのフィールドの内容を複数のフィールドに分ける方法について

    いつもお世話になっております。 さっそくで申し訳ありませんがマクロで質問です。 読み込んだデータの内容を、決まったバイト毎でフィールドを分けたいのですがどのようにしたらいいのでしょうか? わかる方がいましたら、アドバイスをお願いします。 例えば、「123AAAあああああ」と1つのフィールド内のあるものを 別々のフィールドに「12」「AAA」「ああああ」となるようにしたいのですが。 また、それぞれのバイト数は決まったものになっています。

  • ファイルメーカーの繰り返しフィールドで

    いつもありがとうございます。 初心者ながら、ただいま在庫計算のデータベースを作っています。 ファイルメーカー8の繰り返しフィールドに関してですが、 商品コード 1.2.3... 在庫数   1.2.3... という二つの繰り返しフィールドがあるのですが、 商品コード「3」に対して、それに対応した在庫数「3」を返す 関数またはスクリプトの作り方を教えてください。 なお商品コードと在庫数は、マスタテーブルのレコードで関連づけられています。 質問がわかりにくいかもしれませんが、 何卒よろしくお願いします。

  • シェルスクリプトについて

    初心者なので質問の意味が分からなかったら申し訳ありません。 シェルスクリプトからデータを送信したいのですが、 postでデータを送信するやり方はあるのでしょうか?

  • フィールド数の多すぎる・フィールド数が一定でないテーブルのデータ結合の仕方?

    私は、accessについてあまり詳しくないものなのですが、仕事上50近くあるデータを一つにまとめたいんです。 データは2つありまして、 1.それぞれのテーブルが微妙にフィールド数が異なる場合の結合  例)・Aのテーブルのフィールド名     名前 クラス名 出身県 出身コード 血液型 性別        ・Bのテーブルのフィールド名    名前 出身県 血液型 性別    ・Cのテーブルのフィールド名    名前 クラス名 出身コード 血液型    ⇒このように微妙に異なる。しかもレコード数がかなり多いのです。これは、ユニオンクエリは使えないですよね?何かいい方法はないでしょうか? 2.テーブルの構造は同じなのですが、フィールド数が多くてユニオンクエリを使おうとすると、『フィールド数が多すぎる』とエラーメッセージがでてしまう。この場合の対処方法でいいのはないでしょうか? なにぶん、私はaccessをあまり使わないのでわかりにくい質問だと思いますが、どなたかすみませんが教えてください。お願いします。

  • シェルスクリプトの中のawkユーザー定義関数

    cシェルの中でawkのユーザー定義関数を使う方法について教えてください。 以下の内容の入力ファイルがあったとして、 3 3 306 2 2 258 1 1 105 3列目を数値の大小に応じて、別の数値に置き換えて以下のファイル 3 3 10 2 2 9 1 1 8 を出力したいのです。 cシェルスクリプト中でawkのユーザー定義関数を使って作成したいのですが、シェルスクリプト中に関数をどこでどう定義してよいか分かりません。 cシェルスクリプトの中身は #/bin/csh -f gawk'{print $1,$2,symbolsize($3)}' input_data > output_data で、以下の関数を定義したいのです。 function symbolsize(ccc){ if (ccc >= 300) return 10 #300以上なら10を返す if (ccc >= 200 && ccc < 300) return 9 #200以上300未満なら9を返す else return 8 #それ以外なら8を返す } プログラミング初心者なので、なにとぞよろしくお願いします。

  • Javascriptでフィールドの数の指定

    JavasCript初心者です。 DOMを使い、数を指定したうえでテキストフィールドを作りたいと思っています。 セレクトボックスで数を指定し、bottonを押して作成させたいです。 <select> <option value="1">1 <option value="2">2 <option value="3">3 <option value="4">4 <option value="5">5 <option value="6">6 </select> <input type="button" onclick=""> 6がセレクトされていたら6つのテキストフィールドが出来上がる、といった具合です。 詳しい方教えてください。

  • シェルスクリプトで・・・

    シェルスクリプトで・・・ 下記のファイル内にある "yy:mm:dd" 部分を "finish - start" として "aaaaaa" "bbbbbb" "cccccc" ・・・を秒単位で抽出させたいと考えています。 □ ファイル 2010-09-01 08:19:10 aaaaa : start. 2010-09-01 08:19:28 aaaaa : finish. 2010-09-01 08:19:28 bbbbb : start. 2010-09-01 08:30:07 bbbbb : finish. 2010-09-01 08:30:11 ccccc : start. 2010-09-01 08:43:45 ccccc : finish. ・・・・・・・・・・・・・・・・・(ry □ 結果のイメージはこうです。 aaaaaa 17 bbbbb 639 ccccc 814 環境は、centos5 を使っております。 どなたかご教授おねがいします。