うさぎのしっぽ

プログラミングとか。備忘録として使ってるブログです。あとは趣味少し。 間違いなどありましたらご指摘ください(・3・)

【正規表現】カンマ(,)区切りの数値判定、3桁区切りでカンマ(,)を打つ

※メモを元に手打ちしてるのでミスがあったらすいません。コメントください。

カンマ(,)区切りの数値(0以上)を判定する

/^0$|^[1-9]\d{0,2}(,\d{3})*$/

 

整数(0以上)に3桁区切りでカンマ(,)を打つ

※最上位桁が0でも動く

replace(/^(\d)(?=(\d{3})+$)/g, '$1,')

(hoo)(?=(bar)でhooとbarの間を拾ってこれるらしい

 

おまけ 0以上の整数を表す正規表現

/^0$|^[1-9](\d)*$/

 

awkで改行しないで出力する

","を各レコードの後ろに出力

awk '{printf "%s",$1 ","}' input.txt

指定月の最終日を求めるコマンド

コマンドと実行結果

$date '+%Y-%m-%d' -d 12/01/2016-1days+1month
2016-12-31

AWKのわかりやすい説明

めちゃめちゃ分かりやすかった。

AWK リファレンス | UNIX & Linux コマンド・シェルスクリプト リファレンス

コマンドで最小値、最大値、合計を求める

以下のサイトからの引用です。

d.hatena.ne.jp

最小値

cat test.log | awk 'BEGIN{m=100000}{if(m>$3) m=$3} END{print m}'

最大値

cat test.log | awk '{if(m<$3) m=$3} END{print m}'

合計

cat test.log | awk '{m+=$3} END{print m;}'

標準入力と標準出力についてわかりやすいサイトを見つけたのでメモ。

標準入力、標準出力、標準エラー出力、パイプとは ?