へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)! #vZkt8fc6J

Shell Scripting

$ ssh [host]で接続したときは、.bashrcとか.zshrcとか呼ばれないので自分で読みこめよって話

例: $ ssh default 'source ~/.bashrc; [.bashrcの中にあるスクリプトを実行する]' 知らなんだ

virtual_envの環境を保存しておく

ソース save_workon #!/bin/sh if [[ -z "$VIRTUAL_ENV" ]]; then echo '' > ~/.workonlogin else echo workon "$(basename $VIRTUAL_ENV)" > ~/.workonlogin fi 実行例 $ workon test (test)$ save_workon [ New Terminal ] (test)$

シェルスクリプトの中でさっきインタラクティブシェルの中で打ったやつをrerunするスクリプト書いた

かいた !!とかCtrl + PとかUpとか便利だけど そういうのじゃなくてシェルスクリプトから呼び出すやつzshしか確認してないので、他のシェルで使えるかどうかはわからない $ chmod +x rerun_and_plusを忘れずにもっとスマートなやり方があったら教えてください…

差分だけ保存しておいて、あとで差分だけ反映させたいというとき

導入 次のようなファイルが2つあるとするTODOリスト(偽).txt 日記を書く 明日に備えてゆっくり寝る 起きるTODOリスト(真).txt 日記を書く エロ動画を見る 明日に備えてゆっくり寝る 起きるこのとき、 この(真)の方は人目のつくところに置いておきたく…

シェルでlsを打った時の結果を色つきでパイプに渡す

コマンド Mac専用 $ CLICOLOR_FORCE=1 ls | less Macじゃない場合はこっち参照serverfault.com 意味 $ man ls ~~省略~~ CLICOLOR_FORCE Color sequences are normally disabled if the output isn't directed to a terminal. This can be overridden by sett…

連番のディレクトリをシェルコマンドでつくる(ゼロ埋めもする)

$ seq 1 22 | xargs -n 1 printf "%02d " | xargs -n 1 mkdir メモ用

Djangoでmysqlのデータを取り込み直してmigrateするシェルスクリプト書いた

発端 Model変更→データかまう→やっぱやめた→dumpファイル入れなおす→migrate→Model変更→……→おぅふ、これ毎回やるのか……→めんどくさい!!!(´・ω・`) 必要におうじて編集してつかってほしいっ…!recreate_db.sh #!/bin/sh # $1 -> filename # Setting dir="…

ファイル名がImage1.jpg、Image10.jpgみたいなやつを、Image00001.jpg、Image00010.jpgみたいにゼロ埋めするシェルスクリプト

mvzeropad.shなどとつけて保存するnum=$(echo $1 | sed 's/[^0-9]//g') zeronum=$(printf %05d $num) mvfile=$(echo $1 | sed "s/$num/$zeronum/g") mv $1 $mvfile ふつうのつかいかた $ sh mvzeropad.sh Hoge1.mp4 → Hoge00001.mp4 ファイル全体にやりたい…

さっきダウンロードしてきたzipファイルとかを展開するコマンド

$ unzip "`ls -t | head -n 1`"

コマンドからの複数行置換について。〜え、sedって1行ずつしか置換してくれないの?〜

はじめに Nothing is happend.sedはどうやらファイルの中身を1行ずつ読み込んでいるらしい。 grepもしかりだ。 そこでぼくはperlをつかった $ perl -0777 -pe "s/a\n\b/xxx/g" grep.txt perlは偉大ダナーもちろんsedと同じように-iをつければ上書き保存して…

起動時にvirtualenvwrapperの環境をworkonして毎回変えるのがめんどくさかったのでめんどくさくなくした

コマンドを作る(別にvimじゃなくてもいい) $ vim /usr/local/bin/reservework その内容 #!/bin/sh if [ -n "$VIRTUAL_ENV" ]; then envname=`basename $VIRTUAL_ENV` echo "workon $envname" > ~/.workonlogin else echo "" > ~/.workonlogin fi 内容はGit…

Shell > ディレクトリ名をスラッシュで分けたときのカレントディレクトリや親のパスを取得する

Ref Ubuntu bash script: how to split path by last slash? - Stack Overflow Sub-Obj $ dirname a/b/ca/b$ basename a/b/cc

ターミナルで使ったコマンド及び出力されたテキストを保存するシェル芸作りました!

script ~/Log/TerminalLog/`echo $(ps -p $$ | awk '{print $2;}' | tail -1)`.`date +"%Y_%m%d_%H%M"`作ったというのもおこがましいが。 カレントシェルはたぶんもっといいやり方ある。 exitで抜けれる。~/Log/TerminalLogないと落ちる。できたファイルは、…

自分で作ったシェルスクリプトとかを放り込んで実行・管理する場所作った

はじめに 今まで毎回ホームディレクトリの下に、.hoge.shとか作って .zshrcやらに、alias adderr='sh .adderr.sh'とか書いていたけれどいい加減めんどくさくなったので、 それを主に使用するディレクトリにスクリプトを置いて、実行させるようにした。 とい…

crontabでエラーが見れない人へ

ログインすると You have mailとか言われるはずです。Cronさんからmailが届いているので、 $ mail と打つと幸せになれます。

Macのファイルの並び方(順番)が1,10,100,2,20,3,4...とうざいのをシェルスクリプトでなんとかしました。

$ ls とやると 1.jog 10.jpg 100.jpg 2.jpg 20.jpg ・・・以下ずっとつづく のように出てくるのがうざすぎた。Finderでも同じようです。 $ open *.jpg とやると、その順番で開かれるので、大変うざいわけです。そこで、ファイル名を 00001.jpg,00002.jpg,000…

インタラクティブシェル上にコメント残せるシェルスクリプト書いた。

プログラミングしてて異常事態に陥ったとき、どのタイミングでそれが起こったのかよくわからなくなるときがある。 なんかどこかで変な操作してしまったせいで、 『このへんで、こういうことしてた』っていうのを書くときに使う。 $ history | grep # すると…

Windowsのclipコマンドが便利だったので、Linuxでもないか探してみた

追記(2015.02.13): ザッと見直した結果、信憑性のアヤシイ記事になっています。 Windowsのはこういうやつ c:\> clip > hoge.txt ってやるとクリップボードの中のやつがhoge.txtに入る c:\ clip < hoge.txt ってやればもちろんhoge.txtのやつがクリップボード…

Javaでコンパイルと実行を同時にやるシェルスクリプト

本当に javac AAA.java java AAA とやるのがめんどくさいので、 シェルスクリプトを書いた。 めちゃくちゃ簡単なスクリプトだけど、誰かの役に立てば幸いです。 #! /bin/sh javac $1.java java $1 これにjavad.shなどと名前をつけておいて、 ~/.bashrcに ali…

ショートカットキー1回でGoogle Chromeのアドレスボックスに行ってニコニコ動画検索できるようにしてみた

前に書いたヤツを改良する。 Google Chromeのアドレスバー(オムニボックス)からニコニコ動画を検索できるようにしてみた。 - へっぽこびんぼう野郎のnewbie日記 とりあえずこれに書いてあることを全部やっておく。 $ sudo apt-get install xautomation でx…

xautomation(GUI自動化するアプリケーション)でバックスラッシュ等を表現する方法。

' を表現したい場合 xte 'keydown Shift_L' 'key 7' 'keyup Shift_L' \ を表現したい場合 xte 'str \' 使いながら思ったけど若干不便だな。

シェルスクリプトで番号がついたファイルを生成してみる

別にその時だけ必要で、他のときは使わないファイルを編集するときに 名前すら考えるのがめんどくさいので、 filenumber1.py filenumber2.py 等とファイルを作っている。 でも毎回、ふぁ、い、る、な、む、ばー、2、と打つのが激しくめんどくさいし、 前に…

Ubuntuのバックライトをコマンドラインから操作する

簡単なやり方を見つけた。 sudo apt-get install xbacklight 使い方 xbacklight -set 100 →明るさを100%にする xbacklight -inc 10 →現在から +10% xbacklight -dec 10 →現在から -10% 適当にシェルスクリプトを書いてみた。 (実行するたび、明るさが100%, …

シェルから、lsで拡張子のないファイルをディレクトリを除いて表示する方法

ググれば簡単に見つかりそうだったのに全然見つからなかったので焦った。 まず、ディレクトリだけ表示する方法 $ ls -F | grep / ディレクトリ以外を表示する方法 $ ls -F | grep -v / ドットのついていないディレクトリやファイルを表示する方法 $ ls -F | …

毎回同じ事を書く場合は、リダイレクトが超ベンリ。

#! /usr/bin/env python # -*- coding:utf-8 -*- こんなようなことを毎回 *.py を作った時に書くのはめんどくさすぎるので、 適当にhinaと名付けたファイルを作り、これを書いて保存しておく。 (拡張子はなんでもいい) シェルから、 $ cat hina >> hoge.py…

ダウンロード後のファイルを勝手に判別して解凍してくれるシェルスクリプト作った。

ダウンロードする。 →ダウンロードしたファイルのフォルダを開く(or ターミナルでディレクトリまで移動) →(子ディレクトリを作る) →その下に解凍 が激しくめんどくさかったので一瞬で終わらせるスクリプト作った。 .zipとか.rarとか.tar.gzとかを ダウン…

シェルスクリプトでボリュームコントロールさせてみた

1 #! /bin/sh 2 amixer set Master on 100% これを適当にvolなどと名付けたファイルに書いておく。 起動の仕方は$sh vol もちろんターミナルから2行目を書くだけでもよい(ただめんどくさい) 音量がマックスになるのはわかっていたが、開くとかなりビビる。…