- ベストアンサー
AWKスクリプト作成法についての質問
- AWKスクリプト作成法についての質問です。ファイル内のキーワードを含む行から指定された順序で並び替える方法を教えてください。
- AWKスクリプト作成法についての質問です。ファイル内のキーワードを含む行から指定された順序で並び替える方法を教えてください。
- AWKスクリプト作成法についての質問です。ファイル内のキーワードを含む行から指定された順序で並び替える方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- a-saitoh
- ベストアンサー率30% (524/1722)
関連するQ&A
- AWKスクリプト作成法
以下のような変換をするAWKスクリプトを教えて下さい。 r1 f23 f24 1.6 $.model=RR ↓ r1 f23 f24 RR 1.6 ”$.model=”の後の文字列を取り出す方法がよく わかりません。 よろしくお願いします。
- ベストアンサー
- Perl
- AWKスクリプトについて
AWKスクリプトで あるファイルの中の3単語目の最大文字数を表示させたくて以下のようなスクリプトを作成しました。 #!/bin/nawk -f BEGIN{ maxword = 0; } { if( length( $3 ) > $maxword ) maxword = length( $3 ); } END{ print $maxword; } 単純なスクリプトなのですが, テストしてみると空白の出力しかされません。 なにか間違っているのでしょうか? どなたかアドバイスをお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- awkで改行を除いて文字列を抜きだす
こんにちは。 UNIXユーザーです。 awkでテキストファイルから行、列を指定して、文字列を抜き出し、それをシェルで変数として定義したいのですが、各行の最終列(最も右の列です)を指定すると、抜き出した文字列の末尾に’^M’がついてしまいます。 これが改行を意味するということは分かったのですが、これを取り除くためにはどうしたらよいでしょうか?? どなた様かご教授ください。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- awkで可変文字列をマッチング
シェルなどでawkを使う際に、シェルの引数として渡された文字列をawkに渡し、それを条件にマッチングをかけたいのですが、どうしたら良いのでしょうか?(まあ、素直にgrepを使えばいいのですが・・・) 例えば、 cat foo.txt | awk '{if ($2 == ptn) print}' ptn=$<シェルの引数> とかやれば、2番目のフィールドに完全に一致する行が抽出できるのですが、 cat foo.txt | awk '/ptn/ {print}' ptn=$<シェルの引数> とかやっても、"ptn"という文字列をマッチングしてしまうので、うまくいきません。どの位置に出現するかわからないけど、シェルの引数で指定された文字列が含まれている行だけを出力したい場合、どうしたらよいのでしょう・・・。
- ベストアンサー
- その他(プログラミング・開発)
- unix awkコマンド 複数区切り
カンマ2つ(,,)+文字の抽出方法がわかりません・・・。 例: ファイル内(下記2行)に対して 12,34,,567@89 1,2,34,,567@89 1行目2行目ともに「567」が表示したいです。 # ”カンマ2つを一つの文字列”だけだと「awk -F",,"」でいけますが、+文字列がどうやってもできません。。
- ベストアンサー
- その他(インターネット・Webサービス)
- awkで特定の範囲の行を削除したい
awkなどの使い方がよくわからないので教えてください。 あるテキストファイル中の、"del_start" という文字が入った行から"del_end" という文字が入った行までの全ての行を削除したファイルを作るシェルを作成したいと思っています。 awk(やsed、grep、cat ?)などを使って実現するにはどうすればいいのでしょうか? よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- awkについて
awkの勉強を始めました。入力ファイルから特定の行を抜き出し、平均値を求めようとしています。しかし、FNRとはファイルの全行のようで、FNRで割ると正しい値になりません。特定の文字($8="abc")の行だけ抜き出しているので行数は全体より小さいのですが、抜き出した行数で割るにはどうすればよいのでしょうか。
- ベストアンサー
- その他(プログラミング・開発)
- awkで項目番号ごとに行を列に並べる
[入力ファイル] a 10 1 b 10 2 c 10 3 d 10 4 a 20 5 b 20 6 c 20 7 d 20 8 a 30 9 b 30 0 c 30 1 d 30 2 を、2列目の項目番号を行、1列目の記号を列として (エクセルのピボットテーブルのようなイメージです) 以下のように並べ替えたいのです。 [出力ファイル] No. a b c d 10 1 2 3 4 20 5 6 7 8 30 9 0 1 2 これをawkスクリプトで書きたいのですが、 どのように書けばよいでしょうか? ※下記2点は希望ですが、難しければ非対応でも大丈夫です。 ・入力ファイルの1行目は一応abcdの順番にきれいに並んでいるものですが 順番がabdcなどとずれていても処理できるスクリプトにしたいです。 ・出力後のabcdの列順序は、スクリプトを修正することで 自由に変更できるとさらに助かります。 教えてください。 よろしくお願いいたします。
- 締切済み
- その他(プログラミング・開発)
- awkのsplitについて
awkにつて質問いたします。 awkで項目を特定する時$1等指定しますが、最大で$199までしか対応していない事が分かりました。 そこでawk内部でsplitを使う事にしました。(この場合、200項目目以上可能) 項目の特定、変更は分かりましたが、レコード単位での出力("print 配列"等)の方法分かりません。 簡単に言いますと、 1.あるレコードのある項目を変更したい 2.変更後、レコード単位でファイルに出力したい ※項目は区切り文字で仕切られている ※項目は200以上ある です。 for文で回すのは最終手段にしたいと考えています。 ※この方法でしたら、実現しています。 ご存知の方、ご教授願えますか? 宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- awk in csh
cshスクリプトの中で、awkと連動させたプログラムを書こうとしています。 以下の様なテーブルファイル(hoge.txt)があると想定してください。 1 0.01 0.52 3.23 ..... 2 0.22 9.34 8.22 ..... 3 0.44 0.68 3.81 ..... ... (列も行も揃っている数値だけのテーブル) 例えば、変数hogeに第2行、第2列の数値(文字列)0.22を代入する際、 シェルスクリプト内部で、 @ hoge = `awk 'NR==2' {print $2} hoge.txt` としましたが、$2をスクリプトに与えられた2番目の引数だと解釈して、 うまく動作しません。 試しに$2 -> \$2に変換してみましたが、ダメでした。 (\の後に改行がないというエラーが出ました) 第i列目,j行目の文字列を取り出すにはどのようにすれば良いでしょうか。
- ベストアンサー
- その他(プログラミング・開発)
お礼
さすがに,わかっている方は美しいスクリプトを書かれますね。大変参考 になりました。これを参考にして,作ってみます。 ありがとうございました。