How to replace value in each field until a certain character in each record?
Each record coming with column names. I have to replace them in each record as shown below:
TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0
Output should look like:
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
awk sed replace
New contributor
add a comment |
Each record coming with column names. I have to replace them in each record as shown below:
TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0
Output should look like:
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
awk sed replace
New contributor
1
Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago
add a comment |
Each record coming with column names. I have to replace them in each record as shown below:
TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0
Output should look like:
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
awk sed replace
New contributor
Each record coming with column names. I have to replace them in each record as shown below:
TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0
Output should look like:
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
awk sed replace
awk sed replace
New contributor
New contributor
edited 1 hour ago
Jeff Schaller
38.7k1053125
38.7k1053125
New contributor
asked 3 hours ago
Mullapudi Sudhakar
1
1
New contributor
New contributor
1
Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago
add a comment |
1
Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago
1
1
Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago
Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago
add a comment |
2 Answers
2
active
oldest
votes
This doesn't seem to require anything more complicated than sed 's/[^|]*=//g'
(replace all sequences of non-|
characters followed by =
with nothing).
Ex.
$ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
add a comment |
Try this,
echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
awk
to nullify the odd columns with two field separator as|=
sed
reformat the filed separator
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
|
show 5 more comments
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491337%2fhow-to-replace-value-in-each-field-until-a-certain-character-in-each-record%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
This doesn't seem to require anything more complicated than sed 's/[^|]*=//g'
(replace all sequences of non-|
characters followed by =
with nothing).
Ex.
$ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
add a comment |
This doesn't seem to require anything more complicated than sed 's/[^|]*=//g'
(replace all sequences of non-|
characters followed by =
with nothing).
Ex.
$ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
add a comment |
This doesn't seem to require anything more complicated than sed 's/[^|]*=//g'
(replace all sequences of non-|
characters followed by =
with nothing).
Ex.
$ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
This doesn't seem to require anything more complicated than sed 's/[^|]*=//g'
(replace all sequences of non-|
characters followed by =
with nothing).
Ex.
$ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0
answered 1 hour ago
steeldriver
34.2k35083
34.2k35083
add a comment |
add a comment |
Try this,
echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
awk
to nullify the odd columns with two field separator as|=
sed
reformat the filed separator
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
|
show 5 more comments
Try this,
echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
awk
to nullify the odd columns with two field separator as|=
sed
reformat the filed separator
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
|
show 5 more comments
Try this,
echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
awk
to nullify the odd columns with two field separator as|=
sed
reformat the filed separator
Try this,
echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
awk
to nullify the odd columns with two field separator as|=
sed
reformat the filed separator
answered 2 hours ago
msp9011
3,74343863
3,74343863
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
|
show 5 more comments
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
– Mullapudi Sudhakar
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
can u share the few lines of file...
– msp9011
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
it's printing column names instead of column values in the above command for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
I think it's because "=" is coming as part of data for few fields
– Mullapudi Sudhakar
2 hours ago
|
show 5 more comments
Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.
Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.
Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.
Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491337%2fhow-to-replace-value-in-each-field-until-a-certain-character-in-each-record%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
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
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago