Appending specified property of a specified header within a ini file
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO9GURib1T8z7lCwjOGLQaGtrueEthgQ8LO42ZX8cOfTqDK4jvDDpKkLFwf2J49kYCMNW7d4ABih_XCb_2UXdq5fPJDkoyg7-8g_YfRUot-XnaXkNYycsNp7lA5_TW9td0FFpLQ2APzKcZ/s1600/1.jpg)
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQ0N5W1qAOxLP7t7iOM6O6AzbZnkXUy16s7P_CWfOb5UbTQY_aDsc727chyphenhyphen5W4IppVNernMMQeaUFTB_rFzAd95_CDt-tnwN-nBx6JyUp2duGjPaL5-VgNO41AVsA_vu30EJcipdDG409/s400/Clash+Royale+CLAN+TAG%2523URR8PPP.png)
up vote
1
down vote
favorite
I have a ini file containing Headers with respective property fields to it. For a given Header2 and a property2 how do I append AppendedValue
to the property2 by either using sed
or awk
?
There may be N number of Headers and order of Headers need not be 1, 2 or 3.
Input File1 :
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
Output File1:
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue AppendedValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
text-processing sed awk
add a comment |Â
up vote
1
down vote
favorite
I have a ini file containing Headers with respective property fields to it. For a given Header2 and a property2 how do I append AppendedValue
to the property2 by either using sed
or awk
?
There may be N number of Headers and order of Headers need not be 1, 2 or 3.
Input File1 :
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
Output File1:
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue AppendedValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
text-processing sed awk
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have a ini file containing Headers with respective property fields to it. For a given Header2 and a property2 how do I append AppendedValue
to the property2 by either using sed
or awk
?
There may be N number of Headers and order of Headers need not be 1, 2 or 3.
Input File1 :
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
Output File1:
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue AppendedValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
text-processing sed awk
I have a ini file containing Headers with respective property fields to it. For a given Header2 and a property2 how do I append AppendedValue
to the property2 by either using sed
or awk
?
There may be N number of Headers and order of Headers need not be 1, 2 or 3.
Input File1 :
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
Output File1:
[Header1]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
[Header2]
property1 = containsSomeValue
property2 = containsSomeValue AppendedValue
property3 = containsSomeValue
[Header3]
property1 = containsSomeValue
property2 = containsSomeValue
property3 = containsSomeValue
text-processing sed awk
edited May 24 at 14:13
ñÃÂsýù÷
22.9k2191150
22.9k2191150
asked May 24 at 7:04
DazzlerJay
464
464
add a comment |Â
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Using sed
:
sed "/[Header2]/,/[//^property2/ s/$/ AppendedValue/" infile
This will look for the lines between [Header2]
and [
(which would be the start character of next unknown Header), then append the AppendedValue
string to the end of a line if started with property2
; the sed-script
part only applies for the block matched within given patterns range, and other lines out of this range will be printed with no changes which is sed
's default action.
You can use above in this way too:
sed "/[Header2]/,/[/s/^property2.*/& AppendedValue/" infile
If you want to be more specific:
sed "/^[Header2]/,/^property2//^property2/ s/$/ AppendedValue/" infile
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Using sed
:
sed "/[Header2]/,/[//^property2/ s/$/ AppendedValue/" infile
This will look for the lines between [Header2]
and [
(which would be the start character of next unknown Header), then append the AppendedValue
string to the end of a line if started with property2
; the sed-script
part only applies for the block matched within given patterns range, and other lines out of this range will be printed with no changes which is sed
's default action.
You can use above in this way too:
sed "/[Header2]/,/[/s/^property2.*/& AppendedValue/" infile
If you want to be more specific:
sed "/^[Header2]/,/^property2//^property2/ s/$/ AppendedValue/" infile
add a comment |Â
up vote
1
down vote
accepted
Using sed
:
sed "/[Header2]/,/[//^property2/ s/$/ AppendedValue/" infile
This will look for the lines between [Header2]
and [
(which would be the start character of next unknown Header), then append the AppendedValue
string to the end of a line if started with property2
; the sed-script
part only applies for the block matched within given patterns range, and other lines out of this range will be printed with no changes which is sed
's default action.
You can use above in this way too:
sed "/[Header2]/,/[/s/^property2.*/& AppendedValue/" infile
If you want to be more specific:
sed "/^[Header2]/,/^property2//^property2/ s/$/ AppendedValue/" infile
add a comment |Â
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Using sed
:
sed "/[Header2]/,/[//^property2/ s/$/ AppendedValue/" infile
This will look for the lines between [Header2]
and [
(which would be the start character of next unknown Header), then append the AppendedValue
string to the end of a line if started with property2
; the sed-script
part only applies for the block matched within given patterns range, and other lines out of this range will be printed with no changes which is sed
's default action.
You can use above in this way too:
sed "/[Header2]/,/[/s/^property2.*/& AppendedValue/" infile
If you want to be more specific:
sed "/^[Header2]/,/^property2//^property2/ s/$/ AppendedValue/" infile
Using sed
:
sed "/[Header2]/,/[//^property2/ s/$/ AppendedValue/" infile
This will look for the lines between [Header2]
and [
(which would be the start character of next unknown Header), then append the AppendedValue
string to the end of a line if started with property2
; the sed-script
part only applies for the block matched within given patterns range, and other lines out of this range will be printed with no changes which is sed
's default action.
You can use above in this way too:
sed "/[Header2]/,/[/s/^property2.*/& AppendedValue/" infile
If you want to be more specific:
sed "/^[Header2]/,/^property2//^property2/ s/$/ AppendedValue/" infile
edited May 31 at 18:17
answered May 24 at 7:24
ñÃÂsýù÷
22.9k2191150
22.9k2191150
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1039689%2fappending-specified-property-of-a-specified-header-within-a-ini-file%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password