Awk - replace one character only in a certain column
I have a file like this:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
I want to replace all dots .
in the second column with a comma ,
as I would with sed 's/./,/g' file
how can I use sed
or preferably awk
to only apply this for the second column, so my output would look like this:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
text-processing awk sed
add a comment |
I have a file like this:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
I want to replace all dots .
in the second column with a comma ,
as I would with sed 's/./,/g' file
how can I use sed
or preferably awk
to only apply this for the second column, so my output would look like this:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
text-processing awk sed
add a comment |
I have a file like this:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
I want to replace all dots .
in the second column with a comma ,
as I would with sed 's/./,/g' file
how can I use sed
or preferably awk
to only apply this for the second column, so my output would look like this:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
text-processing awk sed
I have a file like this:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
I want to replace all dots .
in the second column with a comma ,
as I would with sed 's/./,/g' file
how can I use sed
or preferably awk
to only apply this for the second column, so my output would look like this:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
text-processing awk sed
text-processing awk sed
asked yesterday
nath
917525
917525
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
$ awk 'BEGIN{FS=OFS=";"} {gsub(/./, ",", $2)} 1' ip.txt
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
this block of code will be executed before processing any input line
FS=OFS=";"
set input and output field separator as;
gsub(/./, ",", $2)
for each input line, replace all the.
in 2nd field with,
1
is an awk idiom to print contents of$0
(which contains the input record)
1
awesome, much THX!
– nath
yesterday
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
yesterday
add a comment |
Done by below method using awk
Command: awk -F ";" '{gsub(/./,",",$2);print $1";"$2";"$3}' filename
output
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
add a comment |
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
});
}
});
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%2f492500%2fawk-replace-one-character-only-in-a-certain-column%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$ awk 'BEGIN{FS=OFS=";"} {gsub(/./, ",", $2)} 1' ip.txt
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
this block of code will be executed before processing any input line
FS=OFS=";"
set input and output field separator as;
gsub(/./, ",", $2)
for each input line, replace all the.
in 2nd field with,
1
is an awk idiom to print contents of$0
(which contains the input record)
1
awesome, much THX!
– nath
yesterday
add a comment |
$ awk 'BEGIN{FS=OFS=";"} {gsub(/./, ",", $2)} 1' ip.txt
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
this block of code will be executed before processing any input line
FS=OFS=";"
set input and output field separator as;
gsub(/./, ",", $2)
for each input line, replace all the.
in 2nd field with,
1
is an awk idiom to print contents of$0
(which contains the input record)
1
awesome, much THX!
– nath
yesterday
add a comment |
$ awk 'BEGIN{FS=OFS=";"} {gsub(/./, ",", $2)} 1' ip.txt
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
this block of code will be executed before processing any input line
FS=OFS=";"
set input and output field separator as;
gsub(/./, ",", $2)
for each input line, replace all the.
in 2nd field with,
1
is an awk idiom to print contents of$0
(which contains the input record)
$ awk 'BEGIN{FS=OFS=";"} {gsub(/./, ",", $2)} 1' ip.txt
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
this block of code will be executed before processing any input line
FS=OFS=";"
set input and output field separator as;
gsub(/./, ",", $2)
for each input line, replace all the.
in 2nd field with,
1
is an awk idiom to print contents of$0
(which contains the input record)
edited yesterday
answered yesterday
Sundeep
7,2861927
7,2861927
1
awesome, much THX!
– nath
yesterday
add a comment |
1
awesome, much THX!
– nath
yesterday
1
1
awesome, much THX!
– nath
yesterday
awesome, much THX!
– nath
yesterday
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
yesterday
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
yesterday
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
sed 's/./,/3' file
replace the third occurence of the dot
edited yesterday
answered yesterday
Emilio Galarraga
45929
45929
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
yesterday
add a comment |
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
yesterday
1
1
Another Useles Use of
cat
... Why not just sed 's/./,/3' file
? (Also, the comma does not need to be escaped.)– twalberg
yesterday
Another Useles Use of
cat
... Why not just sed 's/./,/3' file
? (Also, the comma does not need to be escaped.)– twalberg
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
I took into account the observations
– Emilio Galarraga
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.– ron rothman ℝℝ
yesterday
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.– ron rothman ℝℝ
yesterday
add a comment |
Done by below method using awk
Command: awk -F ";" '{gsub(/./,",",$2);print $1";"$2";"$3}' filename
output
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
add a comment |
Done by below method using awk
Command: awk -F ";" '{gsub(/./,",",$2);print $1";"$2";"$3}' filename
output
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
add a comment |
Done by below method using awk
Command: awk -F ";" '{gsub(/./,",",$2);print $1";"$2";"$3}' filename
output
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
Done by below method using awk
Command: awk -F ";" '{gsub(/./,",",$2);print $1";"$2";"$3}' filename
output
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
answered yesterday
Praveen Kumar BS
1,252138
1,252138
add a comment |
add a comment |
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%2f492500%2fawk-replace-one-character-only-in-a-certain-column%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