soiz1 commited on
Commit
7db5ce2
·
verified ·
1 Parent(s): ed609eb

Create replace_ja.sh

Browse files
Files changed (1) hide show
  1. replace_ja.sh +25 -0
replace_ja.sh ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ DATA_JSON="./data.json"
4
+
5
+ escape_sed() {
6
+ # sedの置換で使う特殊文字(/ & \)をエスケープ
7
+ echo "$1" | sed -e 's/[\/&\\]/\\&/g'
8
+ }
9
+
10
+ jq -r 'keys[]' "$DATA_JSON" | while read -r file; do
11
+ if [ ! -f "$file" ]; then
12
+ echo "ファイルが存在しません: $file" >&2
13
+ continue
14
+ fi
15
+
16
+ jq -r --arg file "$file" '
17
+ .[$file] | to_entries[] | "\(.key)\t\(.value[0])"
18
+ ' "$DATA_JSON" | while IFS=$'\t' read -r orig replace; do
19
+ orig_escaped=$(escape_sed "$orig")
20
+ replace_escaped=$(escape_sed "$replace")
21
+
22
+ # すべての一致を置換(-iはバックアップなし)
23
+ sed -i "s/${orig_escaped}/${replace_escaped}/g" "$file"
24
+ done
25
+ done