bash

ヒアドキュメントの内容をsudo権限で書き込む。

スクリプトを作っていて、sudo権限をつけないと編集できないファイルに対して追記する必要があった。 複数行の内容だったのでヒアドキュメントでやろうと思ったら、catコマンドでは実現できなかった。 そこでいろいろ調べていたら、teeコマンドだと実現でき…

ファイル内の重複行を削除する。

ログの集計をしていると重複行があって上手くいかなかいことがあった。 簡単なcsvだったので、プログラムを書くよりもbashでやりたいなと検索したら、awkでよろしくやっている記事を見つけたので真似してみた。 $ awk '!a[$0]++' access.log > access_uniq.l…

mathコマンドで数式計算ができる。

bashで四則演算しようとした時に、mathというコマンドがあるということを初めて知った。 こちらに書いてあるように、実体はbcコマンドのラッパー。 Mac上でターミナルは常に開いていて、簡単な計算をbashでやりたいと思っていたので、今後活用できそうだ。 $…

awkを使ってcsvの集計をやってみた。

csvファイルをRDB等に入れずにそのまま集計しなければいけない需要があり、調査してみた。 最終的に、こちらを参考に実装。 bash-3.2$ cat group.csv a,1 b,1 a,2 b,3 b,2 c,1 c,2 bash-3.2$ < group.csv awk -F',' '{ if($0 !=""){ a[$1]+=$2;}}END{for(i i…

README.mdを作る簡易スクリプトを実装した。

簡易なREADMEをつくるためのスクリプトを作った。 #! /usr/bin/env bash cat << EOF > README.md # PROJECT_NAME ---- ## Description ## Licence MIT ## Author [piruty](http://piruty.com) EOF ディレクトリ直下にREADME.mdというファイルを作り、その中…

treeコマンドの日本語文字化け対応

ディレクトリの階層構造をツリー形式で表示してくれるtreeコマンド。 非常に便利なのだが、そのままだと日本語が文字化けしてしまう。 日本語ファイル名を含んでいる場合には「-N」オプションを付けることで文字化けを回避できる。 $ tree -N tree-sample/ t…