![シェル芸勉強会の問題を紐解いてみた | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/6135155a4de9035a33550843d5136f482918718b/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2013%2F09%2Ftool.png)
シェルスクリプト神から教えていただいた。忘れないように書いとく (追記)聞いて、自分の記憶した内容をそのまま書いちゃったので、ちゃんとマニュアル通りか確認してなかったので反省 $ man bash 目次 xargsでfunctionを叩く 連想配列もどき 変数間接参照 なんでもかんでもawkで整形しない 文字列の末尾から数えて○文字目を△文字取り出す 番外編:やたら if [ ]; then を使わない ※Markdownで目次の書き方がわからんかった xargsでfunctionを叩く 下の例だと find xxxx | xargs cp xxxx ってかけば良さそうでイマイチだけど、もっと複雑な処理やらせたいときに。 前はこう書いてた #!/bin/bash for x in `find /var/www -name xxx` do cmd="cp -v /hoge/fuga/xxx
>notnotさんに提示していただいたスクリプトは、どのようにして実行させればよいのでしょうか。 シェルプロンプトでそのまま打ち込むか、あるいは、そのままシェルバッチスクリプト中に書けば良いです。 >awkを実行させるのに、「jgawk -f "プログラム名" "データ名" > "結果表ファイル名"」と、バッジファイルを作って実行させるやり方しか知りません。 ' と ' に囲まれた中をpgm.awkに書いて、 awk -F, -f pgm.awk file1 file2 file3 > file4 としても良いです。 >各ファイルが複数行ある場合、どのようにすればよいのでしょうか。 ・各ファイルの行数は同じ ・各ファイルの同一行数目の数字個数は同じ とすると、awkプログラムを別ファイルに書く方式で示すと下記のようになります。 BEGIN{FS=","} #入力行のセパレータをカンマにする
「AWK & Shell テキスト処理ブーム再来について熱くなる夜。」 ジュンク堂書店 池袋本店 開催日時:2015年06月18日(木)19:30 ~ フェア・イベント一覧 開催店舗ページへ 上田隆一(産業技術大学/『シェルプログラミング実用テクニック』著者) 中島雅弘(アーヴァイン・システムズ代表/『AWK実践入門』著者) 富永浩之(香川大学/『AWK実践入門』著者) 上田隆一、USP 研究所『シェルプログラミング実用テクニック』 中島雅弘、富永浩之、國信真吾、花川直己『AWK 実践入門』 刊行記念イベント UNIX誕生直後から現在も使われ続けているシェルとAWKは、UNIXというOSの性格を語 る上では不可欠の存在です。一方、なじみの無い人にとっては、その使い方、そして強 力さを垣間見る機会は限られています。 そこで前半では、「AWK実践入門」の作者陣から、プロの現場
シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから
第23回 問題のみ 解答つき 第22回 問題のみ 解答つき 第21回 問題のみ 解答つき 第20回 問題のみ:/?p=7332 解答つき:/?p=7196 第19回 問題のみ:/?p=7146 解答つき:/?p=7068 第18回 問題のみ:/?p=6877 解答つき:/?p=6836 第17回 問題のみ:/?p=6454 解答つき:/?p=6409 第16回 問題のみ:/?p=5851 解答つき:/?p=5644 第15回 問題のみ:/?p=5171 解答つき:/?p=5093 (番外編)2015年お正月用問題 問題:/?p=4852 解答:/?p=4821 第14回 問題のみ:/?p=4671 解答つき:/?p=4413 第13回 問題のみ:/?p=4051 解答つき:/?p=3792 第12回 問題のみ:/?p=3569 解答つき:/?p=3535 第11回
Index データ集計コマンド 爆速で検索したいぜ! lookを使う LC_ALL=Cを設定する データのランダムサンプリングがしたいぜ! sedを使う awkを使う sortの--random-sortを使う Script言語を使う shufを使う ランダムサンプリング速度比較 合計と平均値を集計したいぜ! 列データ取得 重複行のカウント 合計値出力 平均値出力 複数ファイルのデータ結合がしたいぜ! 共通項目での結合 同じ行数での結合 まとめ データ集計コマンド joinコマンドが便利過ぎて生きるのが辛い - Yuta.Kikuchiの日記 lookコマンドによる二分探索が速すぎて見えない - Yuta.Kikuchiの日記 今日はデータ集計を行う上で絶対に覚えておいた方が良いコマンドと知識を紹介したいと思います。これを身につければシステム処理と業務効率化に大きく繋がると思います。この記
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト Info インフォメーション イベント情報 / ニュース・プレスリリース ユニケージについて ユニケージ開発手法とは / ユニケージエンジニアとは ユニケージ開発手法 技能検定 / 試験日程 ユニケージ開発手法 教育講座 / 開講日程 ユニケージ開発手法 教育講座レポート 出版物 シェルスクリプトマガジン / 注文 / 取扱書店 / 問合せ USP出版書籍 / 注文 / 取扱書店 / 問合せ Software Design / FreeBSD Expert FreeBSD Weekly Topics / 日経Linux 推薦図書 オススメの定番書 / より上級者を目指す UNIXビギナー向け教本 / UNIXの文化を知る AWK/SEDを習得する / 手元に置きたい実用書 古典を楽しむ UECサイトについて
個人的にテキストファイルを処理することが多いのですが,簡単な処理ならUnixのコマンドをパイプとリダイレクトで組み合わせてできることが多くあります.今回はそんななかでもちょっとマニアックなTIPSをまとめてみました. sortコマンドでタブ区切りのファイルを指定する最近知って驚愕したのがこれ.sortコマンドでタブ区切りのファイルを指定したいときは,Ctrl+v Tabでタブ文字を入力していたのですが,$ sort -t $'\t' -k 2,2 のようにしてタブ区切りで2番目のキーでソートすることができます. 1000行おきにデータをサンプリングする1000行おきにファイルからデータをサンプリングしたいときとかは,perlでワンライナーを書くのが速いようです.$ perl -ne '$i++; print unless ($i % 1000)' 某所のコードゴルフによるとこれだけ短くでき
参考文献 † # Web サイトのことをやたらと HP という人がいますが,HP は Hewlett-Packard のことです. 非常に有益です. 入門 UNIX シェルプログラミング UNIX の部屋 awk manual sed manual 正規表現メモ Cyberam-シェルスクリプト 吉田淳「シェル&シェルスクリプト」, 日経 Linux, 2004/4- 森島直人「シェルの魔術」, UNIX MAGAZINE, 2004/11- man コマンド ↑ bash スクリプトの書き方 † スクリプトファイルの名前は何でも良いが,慣例として拡張子は .sh とする. スクリプトファイルは,必ず以下の行で書き始める. #!/bin/bash なお,/bin/bash とは,bash コマンドへのフルパスである.Linux オペレーティングシステムでは /bin 以下にある sh は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く