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 46 mins ago
nath
887425
887425
add a comment |
add a comment |
2 Answers
2
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
41 mins ago
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
18 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
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
2 Answers
2
active
oldest
votes
2 Answers
2
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
41 mins ago
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
41 mins ago
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 40 mins ago
answered 43 mins ago
Sundeep
7,1561826
7,1561826
1
awesome, much THX!
– nath
41 mins ago
add a comment |
1
awesome, much THX!
– nath
41 mins ago
1
1
awesome, much THX!
– nath
41 mins ago
awesome, much THX!
– nath
41 mins ago
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
18 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
add a comment |
sed 's/./,/3' file
replace the third occurence of the dot
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
18 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
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 9 mins ago
answered 41 mins ago
Emilio Galarraga
39929
39929
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
18 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
add a comment |
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
18 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
Another Useles Use of
cat
... Why not just sed 's/./,/3' file
? (Also, the comma does not need to be escaped.)– twalberg
18 mins ago
Another Useles Use of
cat
... Why not just sed 's/./,/3' file
? (Also, the comma does not need to be escaped.)– twalberg
18 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
I took into account the observations
– Emilio Galarraga
6 mins ago
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