shellスクリプトの練習です。
- treeコマンドで表示されるtreeだけを抽出。
- treeの行数を同時に表示
- 一番に見出しを表示させる
この3点を実装しました。
引数に取ったディレクトリを見ます。
もし、引数に何も無ければ、コマンドラインからの入力を受付ます。
#!/bin/sh TMPNUMFILE=/tmp/treeNum TMPTREE=/tmp/treestrct TMPHEADER=/tmp/header if [ $# -eq 0 ];then ## ディレクトリの入力 echo "treeを表示させたいディレクトリを入力してください" while true do read DIR if [ ! -d $DIR ];then echo "そのようなディレクトリは存在しません" else break; fi done else ## 引数のディレクトリを作成 DIR=$1 if [ ! -d $DIR ];then echo "そのようなディレクトリは存在しません" exit 1 fi fi # tree構造の作成 tree -N $DIR | grep "qq" > $TMPTREE # tree数の作成 tree -N $DIR | grep "qq" | cat -n | cut -f 1 | sed -e 's/$/: /g' > $TMPNUMFILE echo $DIR > $TMPHEADER date >> $TMPHEADER cat $TMPHEADER paste $TMPNUMFILE $TMPTREE dirCheck(){ if [ ! -d $1 ];then echo "そのようなディレクトリは存在しません" else break; fi return; }