bash 算術計算 書き方

シェルスクリプトを書いているとき、計算式が使えると便利なことがあります。

  • ファイルの残りの行数を表示したいな
  • 行毎に項目を足して合計を表示したいな
  • 入力したデータを計算して処理に使いたいな

いろいろな状況があると思いますが、bashでも算術計算は可能です。しかも、bashの算術計算は、Bシェルの書き方よりも簡単に書けるようになりました。

よく使う整数の計算について、bashでのシェルスクリプトの書き方を紹介します。

bash 算術計算

bashで整数の計算を行う場合は、

$((計算式))

という書き方をします。

足し算:和

$ echo $((1+1))
2

引き算:差

$ echo $((3-2))
1

掛け算:積

$ echo $((3*2))
6

割り算:商

割り算の結果は、端数切捨てです。

$ echo $((8/2))
4
$ echo $((9/2))
4

シェルスクリプト 算術計算の使い方

fastqファイルは4行で1セットになっているので、引数で指定した「個数*4」行分を表示するようにしました。

head_fastq.sh

# /bin/bash                                                                                                                             
READS=$(($1 * 4))

head -n$READS DATA.fq | tee DATA.head.fq

使い方

$ ./head_fastq.sh 1
LINE 1
LINE 2
LINE 3
LINE 4
$ ./head_fastq.sh 2 | wc -l
8

算術計算で面白いシェルスクリプトを書こう

(検索しても情報が少ない)こういうマニアックな項目も、ちょっと好きです。

コンピューターだもん、「コマンドで計算できるよね?」と思って調べたのがキッカケですが、電卓みたいにバシバシ計算するのは意外と面倒だとわかりました。

その場で「サッ!」と計算できたら手軽で楽しいけど、電卓アプリとかエクセル使う方が便利かもしれないですね。都度、アプリを起動するのも面倒ですが。

ただし、シェルスクリプトの中では、算術計算を使えるととても役に立ちます!算術演算を活用すれば、きっとシェルスクリプトのアイディアも広がるのでは?

すぐに使える「サンプル」がたくさん載ってる本を紹介しておきます!

【bash】

入門bash 第3版

【Bシェル】

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界



カテゴリー

今週よく読まれている記事

  1. 学会・会議で英語が絶望的にできなくて困るケース | オンライン開催で「英語力のなさ」を痛感した場合の対処法

    学会・会議で英語ができなくてに困るケース学会やイベント・会議などが、オンラインで開催される…
  2. r tidyverse 使い方 | 列 filter 絞り込み select関数 – dplyrパッケージ

    tidyverseで1つのデータフレームの列の絞り込みは、dplyrパッケージのselect関数を…
  3. プログラミングで疲れた脳をリフレッシュ 〜 鬼滅の刃「感動」と「やる気アップ」でストレス発散!

    ストレス発散は鬼滅で。「50%OFF」で読む!脳のパフォーマンスを上げるには、適度な休憩と…
  4. AWS ディスク容量不足 新しいボリュームを追加する

    バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。…
  5. 「知っている」と「知らない」とでは、もしものとき、大違いになる – コロナうつ対策

    コロナうつなどという言葉を聞くようになりましたが、派遣切り、解雇、リストラは、これから本格化します…

人気記事

  1. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  2. Excel, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  3. R言語

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…

おすすめ記事

  1. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  2. awk, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  3. シェルスクリプト

    シェルスクリプト | ファイル存在チェック・空ファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…