You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
I often need to kill a process during programming. The way I do it now is: [~]$ ps aux | grep 'python csp_build.py' user 5124 1.0 0.3 214588 13852 pts/4 Sl+ 11:19 0:00 python csp_build.py user 5373 0.0 0.0 8096 960 pts/6 S+ 11:20 0:00 grep python csp_build.py [~]$ kill 5124 How can I extract the process id automatically and kill it in the same line? Like this: [~]$ ps aux | grep 'python csp_build.
と田舎で育った曇りなき純朴な好青年である私がJavaScriptの恐怖の暗黙の型変換に怯えていたところ、プログラマ界隈で容赦なく他人にマサカリをなげつけることで有名な方々からめんどくさいありがたい助言を頂いたので色々調べてみることにしました。なお、以下の言語選択に何ら恣意的なモノは無く、普段よく使う言語を並べただけです。いや、ホント、偶然の選択だよ! JavaScript 1 + '1' > 11 //なるほど、数値と文字列で計算すると文字列に変換されるのね 3 * '3' > 9 //えっ! (1+2)+'3' > '33' 1+(2+'3') > '123' //結合法則とは何だったのか… 1 + true > 2 //やばい…どうしてこうなった… true == 1 > true //ふむふむ、どうやら==で確認してみるとtrueと1は同じか。さすがにtrue === 1はfalse
gistfile1.sh $ awk ' {if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1< min) {min=$1}; total+=$1; count+=1} END {print total/count, min, max} ' FILE.DAT
編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 「行」=「レコード」 デフォルトでAWKは「行」を「レコード」というものとして扱います。正しくは組込変数RS (Record Separater) で区切られたものをレコードと呼びますが、デフォルトでは、この組込変数RSは改行になるため、行がレコードそのものになります。また、このレコード単位の分割は、アクションでテキストファイルを読み込むと必ず行われるものとなっているため、ユーザーが特別に分割処理をしなくてもレコード単位で扱ってくれる、とても便利な仕組みです。 特殊なものとして、段落単位で読み込むために組込変数RSに空文字列を代入するものや、GNU AWK編注2ではファイル全体をひとつのレコードとして読み込む手法、組込変数
awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基本動作 awkの基本動作は、とってもシンプルである。
while read lineで一行処理→ファイルに>>で追加 ってやるくらいなら、全部まとめてやればいいんです。awkやsed等にはもとから「最初から最後まで1行ずつ読み込んで処理する」機能がついてます。特にawkはプログラミング言語です。PHPほど高機能では無いですが、簡単な処理ならPHPと同等に(処理によってはPHPより簡潔に)使えます。 while read lineなんて方法は、シェルスクリプトでは最後の手段と思っておいた方がいいです。 Excelで出力→Linuxで処理、ということなので、$2に含まれる「改行コード」というのは CR のことかもしれません。 以上をまとめると ・予想するに、もとはこんな感じ cat 入力.csv | while read line do A=`echo $line | awk -F, '{print $1}'` B=`echo $line | a
awkによるテキスト処理 [テキスト処理のお手伝い] へ [perlによるテキスト処理] へ [便利なツール] へ はじめに awkを使うと、テキストファイルを加工したり、テキストデータベースから 必要なデータを取り出したりすることが簡単にできます。 ここでは、簡単かつ応用性のあるawkの小さくて実用的な プログラムを紹介します。 注意 awkの文法解説や言語規約などは専門書や ここ を参照してください。でもawkは非常に簡単な言語なので、 ソースを見ながら動かすだけでわかってくることが 多いと思います。 各プログラムに簡単な解説もつけておきます。 実行環境(どんなハードウェアとソフトウェアが必要か)についてはこちらを参照してください。 このサイトで紹介しているプログラムは実はあまりawkらしく ありません。パターンも多用していませんし、 正規表現や連想配列の利用も最小限に止めています。
ここはテキスト処理のテクニックをみがくための遊園地です。誰でも、コンピュータを触り始める前は、何かすごい、魔法の箱がうちにやってきたように考えて期待するもんですが、いざ使い始めてみると、こんなこともできん、あれも無理、ということが、いやというほどわかってくる。その結果、多くの場合、期待した魔法の箱は、早々と、単なるゲーム機や文章の清書機といういわゆるワープロ専用機の代替品になるのは、まだいいほうで、年に一回の年賀状印刷機になったりします。いわばお高くとまった料理店みたいなもんで、メニューにないものは一切出しません、と傲慢に構えているのがコンピュータの正体だと、だんだんわかってくるわけです。 プログラミングは、いわば、メニューにないものをコンピュータにムリヤリやらせる方法です。これまでは、エラそうに構えていた料理店の店主に、お客の要求に合わせて料理をださせる方法だといってもよいでしょうね
1行プログラミング awk でデータの単純なフォーマット変換することを目的としています。 まず、次のようなデータ(/tmp/a とします)に対して、処理を行うことを考えます。 1 2 3 4 -5 6 7 8 0 9 10 113 入力行の総数を印字する 入力行の総数を出力します(他の方法 cat /tmp/a | wc)。 cat /tmp/a | awk 'END {print NR }' 実行結果 3 N行目の入力行を印字する 3行目の入力行を出力します(他の方法 cat /tmp/a | head -3 | tail -1)。 cat /tmp/a | awk 'NR==3' 実行結果 9 10 113 N個より多い欄を持つすべての入力行を印字する 1 行に3 個以上のデータが記述されている行をすべて出力する。 % cat /tmp/a | awk 'NF > 3 {print}'
はじめまして。インフラチームの菅原といいます。 今年の7月に入社してから、コンソールとにらめっこする毎日を過ごしています。クックパッドのようにアクセスの多いサイトのサーバを扱うことが今まで無かったので、いろいろと勉強になることが多いです。 さて、インフラチームではサーバの状況をモニタリングして、サーバに問題がないかを常に把握するようにしています。そのため日常的にtailでログを追いかけているのですが、そんなときはAWKが非常に便利なことに気付き、最近はかなりAWKにハマっています。 今回は絶賛マイブーム中のAWKの活用例をご紹介したいと思います。 なぜAWKなのか? 残念ながらAWKの知名度はあまり高くないようで、社内でも「なぜRubyでやらないのか?」と聞かれることがありました。僕も入社するまではcutの代わりぐらいにしか使っていなかったのですが、あるときログ出力の整形に使って以来、AW
データファイル処理に便利なUNIXコマンド (一部工事中、順次拡張予定) ここでは、データファイル処理に便利なUNIXコマンドの紹介を行います。 使用目的から探す - 実例集 - 複数のファイルをくっつけたい あるファイルの後ろに次のファイルを入れる場合 cat 単純にファイルの最初から順に行同士をくっつけてしまう場合 paste 特定の行を仲立ちとしてファイルをくっつける場合 join ファイルのある行を読み飛ばしたい awk ファイルの空行を読み飛ばしたい awk ファイルのある列とある列を用いて演算を行いたい awk ファイルの特定の文字を別の文字に変換(置換)したい sed データのフォーマットを揃えたい awk 1を01のように、頭にゼロをつけたい(ゼロプディング) 0.035を3.5E-2のように、指数表示にしたい、など。 ファイル名から、ディレクトリ名あるいは拡張子を取り除き
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く