ファイル名に「NHK」を含むtsファイルの合計サイズをGB単位で表示させたい。
コマンドの変遷
$ ls -l | grep NHK | awk '{print $5,$9}'
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9}'
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}'
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a"¥n"}'
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a"¥n"}'
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024"¥n"}'
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024" GB¥n"}'
ーーー
実際に流してみる。
「NHK」を含むファイルだけリスト表示する。

リストのうち、5列目と9列目を表示する。
$ ls -l | grep NHK | awk '{print $5,$9}'

リストの5列目(ファイルサイズ)を 変数a に足し込んでいく。
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9}'
(画面には変化なし)

足し込んだ 変数a を表示してみる(最終行が変数aの値つまりファイルサイズの合計値)。
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}'

最終行の後ろに改行 ¥n を入れる(¥は半角バックスラッシュに読み替え)。
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a"¥n"}'

最終行の前に、区切り文字 ===== を表示する。
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a"¥n"}'

サイズが分かりにくいので、1024で3回割って GB単位で表示する。
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024"¥n"}'

最終行の末尾に「GB」という文字列を表示する。
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024" GB¥n"}'

これでコマンドはできた。毎回打つのは面倒なので、自作コマンド ma(My Awk)としてエイリアス登録し、一瞬で呼び出せるようにする。
$ vim ~/.bashrc
alias ma='ls -l | grep mp4 | awk '\''{a+=$5;print $5,$9} END{print "-----\n" a; print "=====\n" a/1024/1024/1024,"GB"}'\'''

ポイントは、コマンド内のシングルクオートを'\'' で記述すること。
※ こうしないと、エイリアスの記法(alias コマンド名='コマンド文字')にあるシングルクオートと混在してしまってうまく動かない。
追記
numfmt という便利なコマンドがあるらしい。
numfmt をしないとき
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}'

numfmt をしたとき
$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}' | numfmt --to=iec

こりゃ便利だ。