Best way to edit a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Best way to edit a file
# 1  
Old 12-14-2010
Best way to edit a file

looking for a script or command to push out from a centralized machine to multiple machines. I have the software in place that will do this already, but I need to tell it what command to run on each machine with this file.

what I need is a script or command to edit a file in a specific manner. Say I have a file such as the one below. What I need to do is search the file for a specific line, in this case the line "users_here[tab space]u1=usera,userb,userc", and delete the text "usera,". I don't want it to remove ALL instances of "usera" throughout the file, and I don't want to output this to a new file. I need to search the file for the line, remove 'usera' if it's in THAT specific line, and leave the file intact after it edits/removes "usera" from that line. Any help with this?

#
user_goHere
user2_goHere
users_here[tab space]u1=usera,userb,userc
users_there[tab space]u2=user1,user2,user3

here is more text in the file that also contains usera, but i don't want it delete this one. here's another usera, but i don't want it to remove this either.
and here is some more text in the file.
#
# 2  
Old 12-14-2010
Code:
sed -i 's/users_here[tab space]u1=usera,userb,userc/users_here[tab space]u1=userb,userc/' inputFile

If -i option doesn't work then
Code:
sed 's/users_here[tab space]u1=usera,userb,userc/users_here[tab space]u1=userb,userc/' inputFile > temp
mv temp inputFile


Last edited by anurag.singh; 12-16-2010 at 04:20 AM..
# 3  
Old 12-15-2010
ok, I should have been a bit more clear. Some of versions of this file can be varying on some machines. The one identical factor is that the line on every machine will start with 'users_here' (for example, the string after 'u=' might be varying on some machines). So I need a script/command that will search the file for the line starting with 'users_here', and if there happens to be a 'usera' in that line, I want it removed.

I would like to just edit this file and not have to add another step of moving a new file into it's place, if possible.

SmilieSmilieSmilie
# 4  
Old 12-16-2010
1st sed command with -i switch should work for you.
If not,
Code:
 
sed -i 's/users_here\(.*\)usera,\(.*\)/users_here\1\2/' inputFile

# 5  
Old 12-16-2010
If usera also could be the last word in the line (without a trailing comma):
Code:
awk '!f && /users_here/{sub("usera[,]*","");f=1}1' file

# 6  
Old 12-16-2010
Quote:
Originally Posted by anurag.singh
1st sed command with -i switch should work for you.
If not,
Code:
 
sed -i 's/users_here\(.*\)usera,\(.*\)/users_here\1\2/' inputFile

running both "sed -i" commands results in:
sed: illegal option -- i
# 7  
Old 12-16-2010
Then you need to use a temp file.
Code:
 
sed 's/users_here\(.*\)usera,\(.*\)/users_here\1\2/' inputFile > temp
mv temp inputFile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Not able to edit crontab file

Hi, I have a solaris 10 box. And I want to schedule a cronjob.But it gives the following error bash-3.2$ crontab -l crontab: can't open your crontab file. bash-3.2$ EDITOR=vi bash-3.2$ export EDITOR bash-3.2$ crontab -e crontab: can't open your crontab file. I checked in... (12 Replies)
Discussion started by: Rossdba
12 Replies

2. UNIX for Advanced & Expert Users

Edit file

Hi All, I have file with 200K Records and each line with 400 character. I need to edit the some part of the file. For example, i need to edit character from 115 to 125, 135to 145 and 344 to 361 Can you please anyone help me to do this? Regards, (1 Reply)
Discussion started by: balasubramani04
1 Replies

3. Shell Programming and Scripting

edit file

I have a file containing dates like below 2010 1 02 2010 2 01 2010 3 05 i want the dates to be like below 20100102 20100201 20100305 i tired using awk '{printf "%s%02s%02s",$1,$2,$3}' But it does not work,it puts all the dates in one line,i want them in seperate lines like the... (6 Replies)
Discussion started by: tomjones
6 Replies

4. Shell Programming and Scripting

Edit a file

I have file like cp -p /var/adm/ /tmp1/tmp1.log cp -p /var/adm/ /tmp1/tmp2.log cp -p /var/adm/ /tmp1/tmp3.log cp -p /var/adm/ /tmp1/tmp4.log I need to re-write the file like: cp -p /var/adm/tmp1.log /tmp1/ cp -p /var/adm/tmp2.log /tmp1/ cp -p /var/adm/tmp3.log /tmp1/ cp -p... (3 Replies)
Discussion started by: h_banka
3 Replies

5. Shell Programming and Scripting

Script to Edit the file content and create new file

I have a requirement, which is as follows *. Folder contains list of xmls. Script has to create new xml files by copying the existing one and renaming it by appending "_pre.xml" at the end. *. Each file has multiple <Name>fileName</Name> entry. The script has to find the first occurance of... (1 Reply)
Discussion started by: sudesh.ach
1 Replies

6. Shell Programming and Scripting

Edit value in File

I have a file oratab with entry like this SCADAG:/esitst1/oracle/product/9.2.0.8:Y I am trying to discover a way to change the 9.2.0.8 part of this to something like 10.2.0.4 as part of an upgrade script. I have tried cat /etc/oratab >>/tmp/oratab... (1 Reply)
Discussion started by: sewood
1 Replies

7. UNIX for Dummies Questions & Answers

edit a .fs file

I have a .fs file that I want to edit, (or just be able to see what is in it) preferably through a windows environment. Does anyone know how to do that? Thanks (4 Replies)
Discussion started by: kiterboy
4 Replies

8. UNIX for Dummies Questions & Answers

Edit the File

Hello Everyone I am new to this forum. I am having a requirement to edit the file(the file is having some sql code). And this file is in my colleagues login. This is readonly Now I would like to edit this file. In which way can I do this? (1 Reply)
Discussion started by: pradkumar
1 Replies

9. Shell Programming and Scripting

file edit help

Hi, Could anyone give me a idea how to strip the lines from a given file. example *********** 1st occurence 1st occurence 1st occurence 1st occurence *********** 2nd occurence 2nd occurence 2nd occurence 2nd occurence 2nd occurence 2nd occurence ************* 3rd occurence 3rd... (10 Replies)
Discussion started by: sentak
10 Replies

10. UNIX for Dummies Questions & Answers

file name edit

ok I have a list of files for example: 130-4-32.HindIII.0.ids 130-4-32.HindIII.0.ppm 130-4-32.HindIII.0.ppm.gz 130-4-33.HindIII.0.bands 130-4-33.HindIII.0.ics 130-4-33.HindIII.0.ids 130-4-33.HindIII.0.ppm 130-4-33.HindIII.0.ppm.gz 130-4-34.HindIII.0.bands ... (1 Reply)
Discussion started by: lorcet222
1 Replies
Login or Register to Ask a Question