This one liner will search for Name: 0602 then replace any instance of Type### with type 700 until next Name is reached.
sed '/Name: R0602/,/Name.*$/ s/type .*;/type 700;/' file2
I am looking to use something similar to this one liner, but I want to use list of names in file1 to search file2. Once a string form file1 is found, it then replaces any instance of string2 until it reaches the end of that name's section, then does the same for the next line in file1.
File1
Name: 0602
Name: 0603
Name: 0604
file2:
# Name: R0601
Container 4 {
row 12 type 2 {
set 1 10 {
name "C4";
type 300;
}
set 11 20 {
name "C5";
type 100;
}
set 21 20 {
name "C6";
type 300;
}
set 31 40 {
name "C7";
type 200;
}
set 31 40 {
name "C7";
type 1200;
}
}
}
# Name: R0602
Container 5 {
row 12 type 2 {
set 1 10 {
name "C4";
type 300;
}
set 11 20 {
name "C5";
type 100;
}
set 21 20 {
name "C6";
type 300;
}
set 31 40 {
name "C7";
type 300;
}
set 31 40 {
name "C7";
type 1100;
}
}
}
# Name: R0603
Container 6 {
row 12 type 2 {
set 1 10 {
name "C4";
type 200;
}
set 11 20 {
name "C5";
type 100;
}
set 21 20 {
name "C6";
type 300;
}
set 31 40 {
name "C7";
type 500;
}
set 31 40 {
name "C7";
type 1100;
}
}
}
# Name: R0604
Container 6 {
row 12 type 2 {
set 1 10 {
name "C4";
type 200;
}
set 11 20 {
name "C5";
type 100;
}
set 21 20 {
name "C6";
type 300;
}
set 31 40 {
name "C7";
type 500;
}
set 31 40 {
name "C7";
type 1100;
}
}
}
# Name: R0605
Container 6 {
row 12 type 2 {
set 1 10 {
name "C4";
type 200;
}
set 11 20 {
name "C5";
type 100;
}
set 21 20 {
name "C6";
type 300;
}
set 31 40 {
name "C7";
type 500;
}
set 31 40 {
name "C7";
type 1100;
}
}
}