コマンドラインを投稿するサイト Command-line Fu を発見
一行野郎を集めるサイト。 Redditみたいに投稿したコマンドラインをみんなで評価しあえるようだ。 Command-line Fu < The best UNIX commands on the web Command-Line-Fu is the place to record those command-line gems that you return to again and again.
私がよく使うコマンドライン(未投稿)
- ファイルを検索してそれぞれのmd5ハッシュ値を求める
find . -type f -exec md5sum {} ';'
- ターミナルが文字化けするとき、英語メッセージに切りかえる
unset LANG
私がよく使うコマンドライン(やっぱり投稿されていた)
- .svn ディレクトリを検索して削除する
find . -type d -name '.svn' -print0 | xargs -0 rm -rdf
- grepがヒットするファイル名をリストアップ
find /path/to/dir -type f -exec grep \-H "search term" {} \;
なるほどと思ったもの
- 直前のコマンドをsudoする
sudo !!
- 2つのファイルをその場でソートしてdiffする
diff <(sort file1) <(sort file2)
- カレントディレクトリを変更せずに他の場所でコマンド実行する
(cd /tmp && ls)
- ランダムな文字列(非バイナリ)を表示する
tr -dc '*:print:*' < /dev/urandom
結局のところ、覚えやすい程度に短く、かつ強力なコマンドラインが実用的だと思う。 自分では思いつかなかったフレーズを仕入れるのにいいサイトだ。 早速このサイトをRSSリーダーに登録したよ。
コメント by sion:
find /path/to/dir -type f -exec grep -H “search term” {} \;
は しょっちゅう使ってますね。
find は凝りだすとかなり色々できるから、スクリプト書けばいいのに
無理に find でがんばろうとしてしまったりする(笑)
コメント by kiyoka:
そうですね。
findは応用範囲が広いので下手に専用スクリプトをたくさん用意するより、
その場その場でfindプラス -exec オプションや xargs を組み合わせるほうが柔軟性が高い気がします。
スクリプトを準備していっても意外と帯に短し襷に長しで使えなかったりしますよね。
find と xargs の組み合わせは 関数型プログラミング言語でいうことろの高階関数(higher order function)だと思っています。
再利用性が非常に高い理由はそういうところかなと思います。
もっと凝った find コマンドが欲しいと思う時もありますが、それを作るのは暗黒面への入り口なのでやめています(笑)
コメント by sion:
find /path/to/dir -type f -exec grep -H “search term” {} \;
は しょっちゅう使ってますね。
find は凝りだすとかなり色々できるから、スクリプト書けばいいのに
無理に find でがんばろうとしてしまったりする(笑)