前提
- Windowsのコマンドプロンプトの標準
tree
ではなく、Chocolatelyでインストールしたtree
コマンドを使用します。私は普段、git bashばかり使っているので、今回もターミナルはgit bashを使用します。ちなみに、出力の違いは以下のような感じです。
cmd
>tree
フォルダー パスの一覧: ボリューム OS
ボリューム シリアル番号は XXXX-XXXX です
C:.
│ aaa.txt
│ ccc.txt
│
└─bbb
zzz.txt
git_bash
$ tree
.
|-- aaa.txt
|-- bbb
| `-- zzz.txt
`-- ccc.txt
1 directory, 3 files
解決したいこと
git_bash側の出力そのままでも、CSVに出してExcel化することはできますが、「--」とか「`」が邪魔なわけです。
解決方法
sed
コマンドで取り去ります。
FILE_NAME="./dir_structure.csv"
DIR_PATH="//HOGEHOGE/FUGA/piyo"
tree -d -N -L 2 $DIR_PATH > $FILE_NAME
sed -z -i -e 's/\n[0-9]*\sdirectories\n//g' $FILE_NAME
sed -i -e 's/--//g' $FILE_NAME
sed -i -e 's/`/|/g' $FILE_NAME
sed -i -e 's/ |/| |/g' $FILE_NAME