Spaces:
Runtime error
Runtime error
| DATA_JSON="./data.json" | |
| escape_sed() { | |
| # sedの置換で使う特殊文字(/ & \)をエスケープ | |
| echo "$1" | sed -e 's/[\/&\\]/\\&/g' | |
| } | |
| jq -r 'keys[]' "$DATA_JSON" | while read -r file; do | |
| if [ ! -f "$file" ]; then | |
| echo "ファイルが存在しません: $file" >&2 | |
| continue | |
| fi | |
| jq -r --arg file "$file" ' | |
| .[$file] | to_entries[] | "\(.key)\t\(.value[0])" | |
| ' "$DATA_JSON" | while IFS=$'\t' read -r orig replace; do | |
| orig_escaped=$(escape_sed "$orig") | |
| replace_escaped=$(escape_sed "$replace") | |
| # すべての一致を置換(-iはバックアップなし) | |
| sed -i "s/${orig_escaped}/${replace_escaped}/g" "$file" | |
| done | |
| done | |