bashのファイル一覧表(markdown)をワンライナーで取得する
目的
- 何かのアプリを開発しているとき、作成したコマンド群の一覧表を作りたいことないですか。それを実現するワンライナーです。さっくり作りたいのでコメントをサースから取り出すとか完璧は求めないです。あくまで表の骨格が作れればいいと思っております。
方法
-
Markdown
は素晴らしい記法ですが表形式の手打ち作業は行が多くなると辛いですね。なので、bash
とawk
でサクッと作ります。 -
ll
は可読性の高い時間表示に設定します。
$ alias ll
alias ll='ls -l --time-style=+%Y-%m-%d\ %H:%M:%S'
$ ll
合計 300
-rwxrwxr-x 1 hoge hoge 959 2020-04-24 08:51:09 add_comment.cgi
...
- 考え方は
awk
のprintf()
で項目の区切りに|
を入れるだけです。
作成したワンライナー
$ #基本形
$ ll *cgi |awk '{printf "|%02d|%s|%s|%s||\n",NR,$8,$3,$6}'
- 番号、コマンド名、owner(hoge)と修正日と説明文を入れる空欄を
|
で区切ります。 - 表のヘッダをつけたいならawk BEGIN{print ""}にコマンドを追加してもいいでしょう。
- 追加する文字列は
"|#|command名|owner|last update|content|\n| ---- | ---- | ---- | ---- | ---- |"
でOKです。
$ #ヘッダ追加
$ ll *cgi |awk 'BEGIN{print "|#|command名|owner|last update|content|\n| ---- | ---- | ---- | ---- | ---- |"}{printf "|%02d|%s|%s|%s||\n",NR,$8,$3,$6}'
結果
- 実行すると以下を得ます。
$ ll *cgi |awk 'BEGIN{print "|#|command名|owner|last update|content|\n| ---- | ---- | ---- | ---- | ---- |"}{printf "|%02d|%s|%s|%s||\n",NR,$8,$3,$6}'
|#|command名|owner|last update|content|
| ---- | ---- | ---- | ---- | ---- |
|01|add_comment.cgi|hoge|2020-04-24||
|02|change_passwd.cgi|hoge|2020-04-24||
|03|check_change_passwd.cgi|hoge|2020-04-24||
...
$
- これをMarkdownファイルに保存するもよし、TyporaなどのMarkdownエディタにコピペするもよし。
Typora
にコピペした画像を貼り付けます。
- 誰かのお役に立てれば嬉しいです。
Author And Source
この問題について(bashのファイル一覧表(markdown)をワンライナーで取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/Woodie/items/046a49d6ba2c33dd2059著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .