2020/AUG/29
単なる思いつきです。
ls -l コマンドで、バイト数の数字が辛いです。
-rw-rw-r-- 1 kondoh kondoh 1649590272 May 25 15:09 ubuntu-16.04.5-desktop-amd64.iso
du -hコマンドは優しいです。
$ du -h ubuntu-16.04.5-desktop-amd64.iso 1.6G ubuntu-16.04.5-desktop-amd64.iso
連続する数字を','で区切るフィルターを作ります。
追加した','の数だけズレるので、直前に連続するスペースがあると、できるだけ揃えるように削除します。
'-h' オプションは human からきてるらしいので、
という名前にしてみました。
$ cat hu.py #!/usr/bin/env python import sys import empty def add_delim(s): s = s[ :: -1 ] d = '' while len( s ) > 3: d += s[ :3 ] + ',' s = s [ 3: ] d += s return d[ :: -1 ] def cnv(s): e = empty.new( s='', buf='' ) def cut_spc(n): for i in range( n ): if e.s[ -2 : ] == ' ': e.s = e.s[ : -1 ] def conn(): if e.buf: buf = add_delim( e.buf ) cut_spc( buf.count( ',' ) ) e.s += buf e.buf = '' for c in s: if c.isdigit(): e.buf += c else: conn() e.s += c conn() return e.s if __name__ == "__main__": s = sys.stdin.read() d = cnv( s ) sys.stdout.write( d ) # EOF
python2 の環境でしか試せてませんが...
$ ls -l total 1634884 -rwxr-xr-x 1 kondoh root 611 Aug 26 22:32 hu.py -rw-rw-rw- 1 kondoh root 21100932 Aug 7 2015 jrt2.raw -rw-rw-r-- 1 kondoh root 2870542 Oct 5 2015 ptmsk-14.mp3 -rw-rw-r-- 1 kondoh kondoh 1649590272 May 25 15:09 ubuntu-16.04.5-desktop-amd64.iso
の表示が
$ ls -l | ./hu.py total 1,634,884 -rwxr-xr-x 1 kondoh root 611 Aug 26 22:32 hu.py -rw-rw-rw- 1 kondoh root 21,100,932 Aug 7 2,015 jrt2.raw -rw-rw-r-- 1 kondoh root 2,870,542 Oct 5 2,015 ptmsk-14.mp3 -rw-rw-r-- 1 kondoh kondoh 1,649,590,272 May 25 15:09 ubuntu-16.04.5-desktop-amd64.iso
こんな感じになります。
に hu を追加しました。
インストールして、さらに
$ alias hu='python -m hu'
を設定すれば
xxx | hu
でオッケーです。
$ ls -l kon_ut/*.py | head -rw-r--r-- 1 kondoh staff 2953 5 24 13:07 kon_ut/arg.py -rwxr-xr-x 1 kondoh staff 513 4 26 11:13 kon_ut/arg_sample-old.py -rwxr-xr-x 1 kondoh staff 674 5 24 12:41 kon_ut/arg_sample.py -rwxr-xr-x 1 kondoh staff 219 5 24 12:46 kon_ut/arg_sample2.py -rw-r--r-- 1 kondoh staff 1930 7 12 17:18 kon_ut/base.py -rwxr-xr-x 1 kondoh staff 7724 2 1 2020 kon_ut/chat_conn.py -rwxr-xr-x 1 kondoh staff 3312 5 2 17:58 kon_ut/cmd_ut.py -rwxr-xr-x 1 kondoh staff 1180 6 20 14:24 kon_ut/cmds_out.py -rwxr-xr-x 1 kondoh staff 1333 6 9 04:57 kon_ut/dbg.py -rw-r--r-- 1 kondoh staff 470 3 19 16:15 kon_ut/delim_nl_to_indent.py
のところが
$ ls -l kon_ut/*.py | head | hu -rw-r--r-- 1 kondoh staff 2,953 5 24 13:07 kon_ut/arg.py -rwxr-xr-x 1 kondoh staff 513 4 26 11:13 kon_ut/arg_sample-old.py -rwxr-xr-x 1 kondoh staff 674 5 24 12:41 kon_ut/arg_sample.py -rwxr-xr-x 1 kondoh staff 219 5 24 12:46 kon_ut/arg_sample2.py -rw-r--r-- 1 kondoh staff 1,930 7 12 17:18 kon_ut/base.py -rwxr-xr-x 1 kondoh staff 7,724 2 1 2,020 kon_ut/chat_conn.py -rwxr-xr-x 1 kondoh staff 3,312 5 2 17:58 kon_ut/cmd_ut.py -rwxr-xr-x 1 kondoh staff 1,180 6 20 14:24 kon_ut/cmds_out.py -rwxr-xr-x 1 kondoh staff 1,333 6 9 04:57 kon_ut/dbg.py -rw-r--r-- 1 kondoh staff 470 3 19 16:15 kon_ut/delim_nl_to_indent.py
このように。
1行単位で処理するように、少しだけ変更しました。
ダウンロード用のスクリプト
dl.py
追加しました。
簡易なファイルツリーのバージョン管理ツール(gitの真似事) 2020春
の dl.py からコピーして、名前の箇所だけ修正してます。;-p)
kon_page/inst.sh から 共通の kon_page/dl.py を使うように変更しました。( 2020/AUG/29 )
$ cat v2.patch | patch -p1