知っていると便利なbash機能

はじめに

意外と知らなく、知っていると便利な機能があったので紹介していく

変数

#変数作成
$ num=1 #数値
$ str="hoge" #文字列

#表示
$ echo #pythonのprint文に近いもの
$ echo $num #先頭に$をつけることで変数の中身が返ってくる
=> 1
$ echo $str
=> hoge
$ echo $(($num*2)) #計算時は$(( ))で囲む
=> 2

四則演算

$ echo $((1+2)) #加算 1+2
=> 3
$ echo $((1-2)) #減算 1-2
=> -1
$ echo $((1*2)) #かけ算 1×2
=> 2
$ echo $((1/2)) #割り算 1÷2
=> 0
$ echo $((1%2)) #割り算のあまり
=> 1
$ echo $((2**2)) #べき乗 2の2乗
=> 4

ソート

基本動作

$ sort ファイル名

$ sort test.txt
=> 10
   12
   4
   50

1文字目の文字からソートされるため10,12,4,50となっている

オプション

$ sort -n test.txt
=> 4
   10
   12
   50

-nをつけることで数字としてソートされる

$ sort -k 1  #1個目を使ってソート
$ sort -k 1,2 #優先順位が1個目>2個目でソート
$ sort -k 1,4 #1~4個目を使ってソート

-kの後の数字が、どの項目を使ってソートするか指定している

$ sort -t ":"

-tの後の””で囲った文字で区切り指定をしている
-kと組み合わせて使用する事が多い

$ sort -k 1,3 -t "." test2.txt
=> 000.000.001 aab
   000.000.002 aaa
   000.001.003 a