teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

OS情報追加

2017/05/08 10:54

投稿

lazhuward
lazhuward

スコア1294

answer CHANGED
@@ -5,6 +5,9 @@
5
5
 
6
6
  ---
7
7
  # テスト結果
8
+ テスト環境(2台で実施)
9
+ AmazonLinux(en_US.UTF-8)
10
+ CentOS6(ja_JP.UTF-8)
8
11
 
9
12
  ```bash
10
13
  #!/bin/bash

3

改行削除されたのでコメント追加

2017/05/08 10:54

投稿

lazhuward
lazhuward

スコア1294

answer CHANGED
@@ -4,6 +4,7 @@
4
4
  [正規表現でエスケープが必要な文字一覧表](http://qiita.com/katsukii/items/1c1550f064b4686c04d4)
5
5
 
6
6
  ---
7
+ # テスト結果
7
8
 
8
9
  ```bash
9
10
  #!/bin/bash
@@ -17,7 +18,7 @@
17
18
  sed -i -e "/subnet:/a \ \- \{ \"name\": \"${subnet_name}\", \"address\": \"${subnet_address}\", \"nsg_name\": ${subnet_nsg} \} " ${OUTPUTFILE}
18
19
  done
19
20
  ```
20
- /tmp/csv
21
+ /tmp/csv (EOFに改行を2つ入れています)
21
22
  ```
22
23
  RDS-SBNET01,172.16.2.192/26,RDS-NSG
23
24
  #RDS-SBNET02,172.16.2.192/26,RDS-NSG

2

テスト追記

2017/05/08 10:48

投稿

lazhuward
lazhuward

スコア1294

answer CHANGED
@@ -1,4 +1,43 @@
1
1
  多分、`-`が`\-`だと思います。
2
2
 
3
3
  【FYI】
4
- [正規表現でエスケープが必要な文字一覧表](http://qiita.com/katsukii/items/1c1550f064b4686c04d4)
4
+ [正規表現でエスケープが必要な文字一覧表](http://qiita.com/katsukii/items/1c1550f064b4686c04d4)
5
+
6
+ ---
7
+
8
+ ```bash
9
+ #!/bin/bash
10
+ CSVFILE=/tmp/csv
11
+ OUTPUTFILE=/tmp/test
12
+ for line in `cat ${CSVFILE} | grep -v ^#`
13
+ do
14
+ subnet_name=`echo ${line} | cut -d ',' -f 1`
15
+ subnet_address=`echo ${line} | cut -d ',' -f 2`
16
+ subnet_nsg=`echo ${line} | cut -d ',' -f 3`
17
+ sed -i -e "/subnet:/a \ \- \{ \"name\": \"${subnet_name}\", \"address\": \"${subnet_address}\", \"nsg_name\": ${subnet_nsg} \} " ${OUTPUTFILE}
18
+ done
19
+ ```
20
+ /tmp/csv
21
+ ```
22
+ RDS-SBNET01,172.16.2.192/26,RDS-NSG
23
+ #RDS-SBNET02,172.16.2.192/26,RDS-NSG
24
+ RDS-SBNET03,172.16.2.192/26,RDS-NSG
25
+ RDS-SBNET04,172.16.2.192/26,RDS-NSG
26
+
27
+ RDS-SBNET05,172.16.2.192/26,RDS-NSG
28
+
29
+
30
+ ```
31
+ /tmp/test
32
+ ```
33
+ subnet:
34
+ ```
35
+
36
+ 結果
37
+ ```
38
+ subnet:
39
+ - { "name": "RDS-SBNET05", "address": "172.16.2.192/26", "nsg_name": RDS-NSG }
40
+ - { "name": "RDS-SBNET04", "address": "172.16.2.192/26", "nsg_name": RDS-NSG }
41
+ - { "name": "RDS-SBNET03", "address": "172.16.2.192/26", "nsg_name": RDS-NSG }
42
+ - { "name": "RDS-SBNET01", "address": "172.16.2.192/26", "nsg_name": RDS-NSG }
43
+ ```

1

ついき

2017/05/08 10:46

投稿

lazhuward
lazhuward

スコア1294

answer CHANGED
@@ -1,1 +1,4 @@
1
- 多分、`-`が`\-`だと思います。
1
+ 多分、`-`が`\-`だと思います。
2
+
3
+ 【FYI】
4
+ [正規表現でエスケープが必要な文字一覧表](http://qiita.com/katsukii/items/1c1550f064b4686c04d4)