sh 减价でファイルリスト一覧リンクを作るためのシェルスクリプト(到位桶用)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 减价でファイルリスト一覧リンクを作るためのシェルスクリプト(到位桶用)相关的知识,希望对你有一定的参考价值。

#!/bin/bash

echo "**Index**" >README.md
echo "" >>README.md
# フォルダ・ファイルが多くなると飛ぶのが面倒なので、[TOC]追加
echo "[TOC]" >>README.md
echo "" >>README.md
echo "---" >>README.md

# ファイルへのリンク部分を出力する関数
file_echo () {
  find $1 -maxdepth 1 -type f -name "*.md" | while read FILE ; do
    local FILE2=`echo "${FILE##*/}" | sed -e "s/\.md//"`
    echo "- [$FILE2](${FILE})" >>README.md
  done
}

# フォルダごとに見出しをつけて改行してファイル部分も出力する再帰呼出し用関数
folder_echo () {
  find $1 -maxdepth 1 -type d | while read DIR ; do
    if test "$DIR" != "$1" ; then
      local MD_FILE_LIST=`find $DIR -type f -name "*.md"`
      if test "$MD_FILE_LIST" == "" ; then
        continue
      fi
      local HEADING="##"
      if test $2 != 0 ; then
        # 階層ごとに見出しレベルを下げたかったので、ここで#を追加する
        for i in `seq 1 $2` ; do
          HEADING+="#"
        done
      else
        echo "" >>README.md
      fi
      echo "" >>README.md
      # フォルダごとに見出しをつける
      echo "$HEADING ${DIR##*/}" >>README.md
      local MD_FILE_LIST2=`find $DIR -mindepth 1 -type f -name "*.md"`
      # 小フォルダ内に*.mdがある場合、再帰呼出し
      if test "$MD_FILE_LIST2" != "" ; then
        folder_echo "$DIR" `expr $2 + 1`
      fi
      local MD_FILE_LIST3=`find $DIR -maxdepth 1 -type f -name "*.md"`
      # フォルダ内にファイルがある場合、ファイル用関数呼び出し
      if test "$MD_FILE_LIST3" != "" ; then
        echo "" >>README.md
        file_echo "$DIR/"
      fi
    fi
  done
}

folder_echo . 0

echo "" >>README.md
# Bitbucketでスペースを開けるだけだと、最後辺りのリンクによくわからんpタグがつくため、空白の見出し追加
echo "# " >>README.md

file_echo .

以上是关于sh 减价でファイルリスト一覧リンクを作るためのシェルスクリプト(到位桶用)的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf ディレクトリのファイルリストを见せない。

ruby ターミナルとかでファイルの削除リストを提示された时に使う。

markdown ファイルを指すURLに个别のファイルのエイリアスを作る

sh URLリストを読み込み,存在しないURLのみファイルに追记书き出し。

c_cpp catコマンドを作る!linuxのファイルディスクリプタを使って,ファイルから端末へ出力する

golang golangでファイルへの保存と読み出しテスト