【Linux】ディレクトリ名とファイル数をcsv出力するコマンド【シェルスクリプト】

ゆるプロ日記_csv PC作業
この記事は約2分で読めます。

この記事の最終更新日: 2023年2月1日

作業ディレクトリで、以下のコマンドより、バッチファイル(.sh)を作成します。

$ touch file_count_calc.sh

バッチファイルの中身を編集するコマンド

$ vi dir_size_output.sh

書き込む時は「i」を打つと編集モードになります。

編集完了後は「esc」を打ち、「:wq」と打ちます。

書き込む内容

# 作成するファイル名
RESULT_FILE='result.csv'

# すでにファイルが存在する場合、削除して再作成
if [ -e $RESULT_FILE ]; then
    rm -rf ${RESULT_FILE}
    touch ${RESULT_FILE}
fi

# 現在ディレクトリを変数に入れておく。
WORK_DIR=$(cd $(dirname $0); pwd)

# 現在のディレクトリにある全てのディレクトリを配列に入れる
DIR_LIST=$(ls)

echo "期間,ファイル数" >> ${RESULT_FILE}
for DIR in ${DIR_LIST};
do
    # 改行ののち、ディレクトリ名をファイルに追記
    echo -n "${DIR}," >> ${RESULT_FILE}
    # 各ディレクトリ内のファイルの数を求め、ファイルに追記
    ls -1 ${WORK_DIR}/${DIR} | wc -l >> ${RESULT_FILE}
done

コメント

タイトルとURLをコピーしました