sh
あるキーワード周辺で行われた最近の更新の更新を見たかった。 git log のフォーマットを日付でだしてsortしている。 clear && grep 'what new' -lr /prj/dir/ \ | xargs git log --pretty='%ad %an %s' --date=short \ | sort -r \ | head -50
選択範囲だけさっくりと正規表現をつかって置換できたらなあと思っていて、 sublime textのプラグイン(python)でも書いてみようかなと思っていたけれども、 下記のようなコマンドで要望は満たせることに気がついた macOSXだと pbpaste, pbcopy が非常に便利…
# メソッド名が出現する所を確認 $ grep `置換したい単語` -r `~/対象ディレクトリ` # OKなら実際に置換 $ grep `置換したい単語` -lr `~/対象ディレクトリ` | xargs perl -i -pe 's/置換前/置換後/g などの処理' 毎回入力しながら不安になるオプションたちg…
grep のオプション -v, -F, -Pあたりがよく使う 知ってたら便利なのがたくさんあるけど、 この3つはいつでも使えるのでおぼえやすい。 v 指定した文字列を含まない行を表示 P: Perlの正規表現を使用できる。 '\d{,3}'みたいな指定が出来る。 r 指定サブディ…
下記の3つのファイルの場合file1 1 2 3 4 5 file2 7 6 5 4 3 file3 1 9 7 5 3 こんなものを出力 $ ./allcomm.sh file1 file2 file3 3 5 ソース allcomm.sh #!/bin/sh PREF=allcomm_tmp_sorted_ # 途中終了時のゴミ掃除 trap "rm -f $PREF*; exit 1" HUP INT …
コマンドをつくって、そのオプションを実装するとき、 -a とか -e とか、この機能だとどのアルファベットを 割り当てるのが正当なのか悩むことがある。あと、このコマンドってこの引数使えるのかなとか、 あたりをつけたいときがある。こういう情報ってググ…
こんな感じのcsvファイル、tensuu.csvがあるとして 1,100 2,80 3,60 これをRDBテーブルにしたいsqliteすぐ出来る。 $ sqlite3 tmpdb -- テーブルを作って sqlite> create table score_table(id INTEGER, score INTEGER); -- 区切り文字を設定して sqlite> .s…
いきなり以下のエラーが出てリモートのgitリポジトリに触れなくなった $ git pull origin master fatal: protocol error: bad line length character: # Us http://stackoverflow.com/questions/8170436/git-remote-error-fatal-protocol-error-bad-line-len…
python -c "print ''.join(['\033[%sm%s\033[0m' % (n, u'P') for n in range(30, 38)])"
新しく入ったデザイナーさんが djangoのカスタムタグの仕様頻度ランキングが知りたいとのことなので 休み時間にシェルの勉強のつもりで #!/bin/sh # 1つ目の引数にテンプレートのディレクトリとかのパス # 2つ目の引数に結果を出力するファイルパスを入れて…
まずcgiファイルを作成 try.cgi #!/usr/local/bin/python # -*- coding: utf-8 -*- class Main(object): @staticmethod def response(): print "Content-Type: text/html\n" print "<html><body>hello!</body></html>" Main.response() ftpの手順をファイルへ deploy.ftpcmd open ドメ…
shのfor文は渡した文字列をホワイトスペース区切りで変数に代入してく for i in 1 2 3 4 5; do echo "$i" done こういうことをしたい loglines=$(perl -nle '$. < 10 and print;' log) やり方は色々あるけどこうすると改行区切りで代入してくれるみたい # se…
perlでこんな正規表現を書くと行をまたいでマッチしてくれる /RE1/.../RE2/たとえば9時から12時までのログファイルを引っ掛けたいときは /09:00:00/.../12:00:00/ ワンライナーにすると下記のような感じ。 perl -nle '/09:00:00/ ... /12:00:00/ and print;'…
# 文字コードを調べる nkf -g file_name.txt #改行コードを確認する od -c file_name.txt # 改行コードをLF/CRのものを生成する nkf -Lw file_name.txt > output.txt # そのファイルの改行コードをLF/CRに変更してしまって良いなら nkf -Lw --overwrite file…
## remote側 su # -> rootに adduser git passwd git # -> パスワード設定 su git cd ~/ mkdir hoge.git cd hoge.git git --bare init ## local側 cd ~/dev/hoge git init touch README.txt git commit -m 'first commit' -a git remote add origin ssh://gi…
いつもgitでコミットする際に -a オプションをつけてやっている git commit -m "コミットメッセージ" -a これをつけるとgit add .してからコミットするのと同じになるので 面倒省けてでよいよねと思うのだけれども、 手癖になっていて時々意図しない-aを入れ…
ここの手順をもとにひな形のソースを入手して http://d.hatena.ne.jp/perlcodesample/20101221/1300165343ここでCGIの仕組みをフムフムしながらセットアップした http://home.e02.itscom.net/shouji/raku/kouza/doc/doc-8.htmlサーバを借りて、ローカルで動…
zipコマンドに-Pオプションをつけて、引数にパスワードを渡せば出来る。 $ zip -P password sakamoto/Desktop/sakusei_file.zip assyukusuru_file1 assyukusuru_file2,,,
自分は下記のコマンドをうったらうまい感じになった。 coffee -cw /var/work/konpairusitai/fairu.coffee -w が -watch (ファイル変更を監視)で -c が -conpile(コンパイル) ctrl + s してブラウザを更新したら、反映されてる形
windowsとmacとlinuxで改行コードは全部違う。 パッと見だとどの改行コードが使われてるか分からないので od コマンドで確認する od -c hatehate.txtなんか文字列がバーッと出てくる\r \n などのように改行コードが2重に入れられていたら それはビルゲイツの…