commit 10
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# パイプの途中でエラーが発生した場合も終了ステータスに反映させる
|
||||
set -o pipefail
|
||||
|
||||
# スクリプトの場所 (scripts/) からプロジェクトルート (notebook/) を動的に取得
|
||||
BASE_DIR=$(cd "$(dirname "$0")/.." && pwd)
|
||||
REFACTOR_DIR="$BASE_DIR/refactoring"
|
||||
@@ -15,6 +18,9 @@ fi
|
||||
|
||||
mkdir -p "$REFACTOR_DIR"
|
||||
|
||||
# ファイルが見つからない場合にワイルドカードをそのまま展開しない設定
|
||||
shopt -s nullglob
|
||||
|
||||
# 引数がある場合はそれを使用し、ない場合は strudel/ フォルダの全mdファイルを対象にする
|
||||
if [ $# -gt 0 ]; then
|
||||
files=("$@")
|
||||
@@ -31,7 +37,7 @@ for file in "${files[@]}"; do
|
||||
filename=$(basename "$file")
|
||||
# 特定のファイルやディレクトリを除外
|
||||
[[ "$filename" =~ ^(Strudel Making Sound|Strudel Study)\.md$ ]] && continue
|
||||
[[ "$file" =~ /(refactoring|script|explained)/ ]] && continue
|
||||
[[ "$file" =~ /($REFACTOR_DIR|explained|script)/ ]] && continue
|
||||
|
||||
echo "Processing $filename..."
|
||||
|
||||
@@ -45,11 +51,11 @@ for file in "${files[@]}"; do
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
# 最初の数行から FILENAME: タグを検索(より柔軟な抽出)
|
||||
suggested_name=$(grep -m 1 "FILENAME:" "$tmp_file" | sed 's/FILENAME: //g' | tr -d '\r')
|
||||
suggested_name=$(grep -m 1 "^FILENAME:" "$tmp_file" | sed 's/^FILENAME: *//g' | tr -d '\r')
|
||||
|
||||
if [ -n "$suggested_name" ]; then
|
||||
# FILENAME行を除去して保存 (最初の1行目にあると仮定しつつ、sedで安全に削除)
|
||||
sed '/FILENAME:/d' "$tmp_file" > "$REFACTOR_DIR/$suggested_name"
|
||||
sed '/^FILENAME:/d' "$tmp_file" > "$REFACTOR_DIR/$suggested_name"
|
||||
rm "$tmp_file"
|
||||
echo "Successfully refactored and renamed to: $suggested_name"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user