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 22 hours ago
nath
912525
912525
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
22 hours ago
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
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
11 hours ago
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
22 hours 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
22 hours 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 22 hours ago
answered 22 hours ago
Sundeep
7,2761927
7,2761927
1
awesome, much THX!
– nath
22 hours ago
add a comment |
1
awesome, much THX!
– nath
22 hours ago
1
1
awesome, much THX!
– nath
22 hours ago
awesome, much THX!
– nath
22 hours ago
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
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
11 hours ago
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
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
11 hours 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 21 hours ago
answered 22 hours ago
Emilio Galarraga
44929
44929
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
11 hours ago
add a comment |
1
Another Useles Use ofcat
... Why not justsed 's/./,/3' file
? (Also, the comma does not need to be escaped.)
– twalberg
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.
– ron rothman ℝℝ
11 hours ago
1
1
Another Useles Use of
cat
... Why not just sed 's/./,/3' file
? (Also, the comma does not need to be escaped.)– twalberg
21 hours ago
Another Useles Use of
cat
... Why not just sed 's/./,/3' file
? (Also, the comma does not need to be escaped.)– twalberg
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
I took into account the observations
– Emilio Galarraga
21 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.– ron rothman ℝℝ
11 hours ago
cat
would not necessarily be useless here. It would allow the operation to use 2 cores.– ron rothman ℝℝ
11 hours ago
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 21 hours ago
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