I do not understand what you are referring to? A loop or running sed twice is necessary if you want to do a replace in two adjacent fields. This is because sed starts to do a replace at the character after where it stopped the last time. If you include the second comma in the pattern then the field that follows is not matched because the first comma was matched the previous time.
A couple of suggestions leave out the second comma, but then all whitespace gets deleted even in fields where the are other characters, which is not what the OP was asking.
I added the possibility of doing the replace not only in fields between comma's, but also for the two fields that have only one comma, namely the first and the last. Which is not precisely what the OP asked, but likely what he requires, since he speaks of fields separated by commas.
S.
Last edited by Scrutinizer; 10-31-2010 at 10:04 AM..
I dont understant you too..
i say already when necessary or "not necessary"twice usage .. and i explain with examples when DGPickett says in this example usage is mandatory..I answer to him related this..I hope this is enough.
And lets come your examples
I said loop is notnecessary
It was not a matter of which method is faster, but of which method actually works. Have a look at the 4th field that contains spaces and the letters sd, and what comes after that in post #17. That field should remain unchanged, but it is not, so IMO your original "non-loop" suggestion is not working properly. This needs to be done by either running the sed twice or through a loop like I suggested.
This time you are leaving your single step approach and you are presenting yet another alternative, with two search and replace statements (which you said earlier would not be necessary), which is like a loop with the use of the g flag.
One thing I noticed just now is that in post#11 in there was a g flag used but in the middle the sed -r option the g flag was accidentally missing. It is a little bit more efficient to leave that in as I noted in that same post. When we add the g-flag as was intended:
There is no significant difference on my system.
---------- Post updated 01-11-10 at 00:13 ---------- Previous update was 31-10-10 at 23:00 ----------
I tested you suggestion but it does not work properly for the last field:
cuts the spaces in the last field like it should, whereas
leaves them in.
Last edited by Scrutinizer; 10-31-2010 at 07:56 PM..
(There are spaces in the second line third=final field):
See, one pass misses the adjacent field of spaces, and without the (), ^ and $ extended regex, the first and last fields are not done. You can work around that with two passes, space-space-asterisk to ignore the empty fields possibly from the first pass, and with extra commas:
{
"AFafa": "FAFA","AFafa": "FAFA"
"baseball":"soccer","wrestling":"dancing"
"rhinos":"crocodiles","roles":"foodchain"
}
I need to insert a new line before the closing brackets "}" so that the final output looks like this:
{
"AFafa": "FAFA","AFafa": "FAFA"... (6 Replies)
HI All,
I am new to unix. I have a file would like to do some editing by using awk, cut and sed. Could anyone help?
This file contain 100 lines. There are one line for example:
2,"102343454",5060,"579668","579668","579668","SIP",,,"825922","035885221283026",1,268,"00:59:00.782 APR 17... (2 Replies)
With sed
1. I need to find a line that contains "DVM" and "73069".
2. I need to insert a double quote at the beginning of the first line of the file.
These two have been driving me crazy for the last 45 minutes. Any help would be greatly appreciated.
Thanks (3 Replies)
Hello all, I need some help with sed. seems like i cant get through it. So here is what i am trying. when i do ps -ef|grep bla blah ...like below...i get /u01/app/oracle/11g/bin/tnslsnr .... but i want to replace that string with something using sed. So basically i want to get rid of... (3 Replies)
Hello,
i have a file, i open the file and read the line, i want to get the first item in the csv file and also teh third+6 item and wirte it to a new csv file. only problem is that using echo it takes TOO LONG:
please help a newbie. below is my code:
WorkingDir=$1
FileName=`cut -d ',' -f... (2 Replies)
I have two files which I would like to compare and then manipulate in a way.
File1:
pictures.txt 1.1 1.3
dance.txt 1.2 1.4
treehouse.txt 1.3 1.5
File2:
pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244
dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2... (1 Reply)
Hi all,
I have a conf file, i want to update some entries in that conf file. Below is the code for that using a temporary file.
sed '/workgroup=/ c\workgroup=Workgroup' /usr/local/netx.conf > /usr/local/netx.conf.tmp
mv -f /usr/local/netx.conf.tmp /usr/local/netx.conf
Sample contents of... (9 Replies)
1. The problem statement, all variables and given/known data:
Problem Statement for project:
When an account is created on the CS Unix network, a
public html directory is created in the account's home directory. A default web page is put into that directory.
Some users replace or... (13 Replies)
Hi guys
task removing the last commas of 5th and 6th columns. The bug in the script is causing effect because of whitespaces around commas. I tried to delete white spaces first and running the above script. but still some where getting the results wrong.
I already have a script to do this... (12 Replies)
Hello Awk Gurus,
Can anyone of you help me with the below problem. I have got a file having data in below format
pmFaultyTransportBlocks
-----------------------
9842993
pmFrmNoOfDiscRachFrames
-----------------------
NULL
pmNoRecRandomAccSuccess
-----------------------... (4 Replies)