タグ

shellに関するn314のブックマーク (8)

  • 大きなテキストファイルをawkで処理するときにcatで投げ込むのと、ファイル読み込みするのどっちが速いか比較 - カメニッキ

    追記が増えたので整理 経緯 2.5GBのテキストファイルを加工する必要があり、①vimで開いて加工→vim死亡②sublime textで開いて加工→sublime text死亡となったため、awkを用いて以下の様なコマンドを実行した。 $ cat sample.txt | awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' > result.txt すると 「catいらなくね?」と指摘 さらにMATSUMOTO, Ryosuke (@matsumotory) | Twitter < 「キャッシュに入れて高速化してるんかと思った」 とコメントをもらいました。ので、どっちが速いかの検証です。 注意 加工の目的はログファイルからある期間だけの行を抜き取りたい 正規表現がいけてないのは気にしない 比較 awkにファイル指定す

    大きなテキストファイルをawkで処理するときにcatで投げ込むのと、ファイル読み込みするのどっちが速いか比較 - カメニッキ
    n314
    n314 2015/07/23
    コマンド一つのことがなんか深い
  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • バックグラウンド実行nohupとdisownの違い - Qiita

    コピペ http://za.toypark.in/html/2007/06-29.html 以下引用 nohupは良く使っていた。最近になってdisownを知った。違いは、プロセスの起動前に使うのがnohup、起動後に使うのがdisown。これだけだと判りにくいので、例を考えてみる。プログラムを作って、起動させる。

    バックグラウンド実行nohupとdisownの違い - Qiita
  • cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー

    cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの

    cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
  • バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita

    TL;DR: グローバルな gitignore に ,/ を追加して、作業用スクリプトを , ディレクトリに入れると便利。 ,/tmp_script.sh で実行できる。 Git リポジトリの中に一時的に使う作業用スクリプトを置いておきたいことがある。自分だけが使うものなのでコミットはしたくないが、いちいち .git/info/exclude に追加して無視させるのも面倒臭い。 今まで自分は、 tmp_script.sh~ や tmp_script.sh.bak など、グローバルな gitignore で無視されるファイル名にしていたが、これは不要なファイルと間違えて消してしまう危険がある。 ignored.tmp_script.sh は分かりやすいぶん長い。 _tmp_script.sh は悪くないが、コミットすべきファイルにもアンダースコアで始まるものがあって紛らわしい。 そこで、作業

    バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita
    n314
    n314 2014/10/28
    JavaScriptの$みたいなもんか。
  • Talpa memorandum

    橘玲の『「読まなくてもいい」の読書案内』を読んだので、感想とメモをまとめておく。 この、タイトルは『「読まなくてもいい」の読書案内』だが、実際には「読まなくていい」はほとんど紹介されていない。紹介されているのは、当たり前の話かもしれないが読むべきだ。他の読書案内と異なっているのは、”こういうは読まなくて良い”と、ばっさり切り捨てているところ。読むべきか・読まなくてもよいかの基準は、20世紀後半に爆発的に進歩した科学研究の成果に置いている。著者は、この時期に起きた科学研究の大幅な進歩を”知のビッグバン”、”知のパラダイム転換”と呼び、これ以前に書かれたは(とりあえず)読む必要がないと言い切る。古いパラダイムで書かれたは捨てて、新しいパラダイムで書かれたを読もうという話だ。ちょっと乱暴な分け方ではあるが、1980年代に大学生だった私には案外納得できるものだった。学生時代に最

    n314
    n314 2014/06/24
  • コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ

    不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh

    コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ
    n314
    n314 2014/02/06
    年に何度かはやりそう。
  • シェルのリダイレクトにまつわる失敗

    Landscape トップページ | < 前の日 2004-03-27 2004-03-28 次の日 2004-03-30 > Landscape - エンジニアのメモ 2004-03-28 シェルのリダイレクトにまつわる失敗 当サイト内を Google 検索できます * シェルのリダイレクトにまつわる失敗この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [bash] シェルのリダイレクトについての理解が不十分なためにやってしまった失敗。 標準出力も標準エラー出力も /dev/null に捨てたいとき、間違えて以下のようにしてしまうことがときどきあった。最近はやらなくなったが。 # 間違い $ command 2>&1 >/dev/nullこれだと command の標準出力は /dev/null に向けられるが、command の標準エラー出力は画面に向いてし

    n314
    n314 2013/01/10
  • 1