Shell

Mac de 自動化

Wish(Mac 版 Tcl/Tk 実装) と AppleScript と Shell を組み合わせて、アイコンクリックでターミナルを開いて該当のサーバに接続したり、特定の URL を開かせたりしちゃいました。(^_^)https://gist.github.com/3900214 https://gist.github.com/3900356

.ssh/config からサーバ名で ssh 接続できるような alias を作成する

.ssh/config にまとまっているサーバ情報からサーバ名で ssh 接続できるエイリアスを一括作成してみた。エイリアスにするとタブ補完も効くので嬉しい(実際には github は ssh 許可していないので例) $ cat ~/.ssh/config ##################################…

GPG + Expect で複数のパスワードを共通管理

お仕事のソフトウェア開発は複数の会社(日本 + 海外)で共同で行っている。そのため、必然的に海外のマシンに接続する必要が出てくる。バグ管理システム(Bugzilla)やビルドマシンは言うに及ばず、開発チームの wiki やテスト管理システム(Testopia)、Subver…

最近使ったファイル

俗に言う「最近使ったファイル」を表示する簡単なシェルスクリプトを書いた。引数に指定する N 日以内に修正したファイルを表示するというもの。デフォルトは 1 日以内としている。 $ cat lt.sh #!/bin/bash N=1 [ -n "$1" ] && N=$1 echo "Show the file(s)…

ひとつ前のディレクトリに戻る

深いディレクトリにいる時にうっかり cd を引数なしで打ってしまうと萎える。そこで、以前のディレクトリに簡単に戻れる(Back to Directory) ように、シェルの組込み変数 $OLDPWD を使ってちょっとしたシェル関数を作ってみた。 $ bd () { cd $OLDPWD; } $ p…

src.rpmとrpmの対応表

src.rpmから(バイナリ)rpmが生成されるがその対応は1:1とは限らない。仕事上この対応表が必要になったのでそれを自動生成するスクリプトを書いた。last_srpm はよーするに uniq するためのフラグだ。 #!/bin/sh rpm -qa --qf "%{SOURCERPM} %{NAME} \n" | …

拡張子の一括変換

C++ ソースファイルの拡張子を .c++ から .cpp にリネームする。 [kyagi@teresa bar]$ ls a.c++ b.c++ c.c++ [kyagi@teresa bar]$ for f in *.c++; do mv $f ${f%.c++}.cpp; done [kyagi@teresa bar]$ ls a.cpp b.cpp c.cppfind . -name と組み合わせれば階…

やるじゃん、imagemagick

デジカメを買ってからというもの、imagemagick に付属している convert コマンドが大活躍している。画像のサイズ変更とフォーマット変更を一発で行えるのがいい。 $ convert -resize 640x480 before.jpg after.pngアイコンも作れちゃったりする。 $ convert …

rpm で情報をできるかぎり引き出す

お仕事で次のバージョンに向けてリストを作る必要があった。めんどくさ。 $ rpm -qa | xargs -i rpm -q --qf "`ruby -e 'open("| rpm --querytags", "r") do |f| while tag = f.gets do print "%{#{tag.chomp}} "; end end'`\n\n" {}

ソース行数を計算する

また開発に戻ることになりそう。とりあえず振られそうなとこの規模を測っておくことにする。 $ find . -name "*.c" -o -name "*.cpp" -o -name "*.h" | \ xargs -i wc -l {} | awk 'BEGIN { sum = 0 } { print; sum += $1 } END { print sum }'ruby でもやっ…