Modify file without passing o/p to new file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Modify file without passing o/p to new file
# 1  
Old 12-23-2013
Modify file without passing o/p to new file

I' m using the below command to delete the matched line from a file and passing the output to new file

Code:
sed '/Pattern to delete/d' file >output

Want to modify the same file without passing the o/p to new file, how to achieve that?
# 2  
Old 12-23-2013
Quote:
Originally Posted by Roozo
I' m using the below command to delete the matched line from a file and passing the output to new file

Code:
sed '/Pattern to delete/d' file >output

Want to modify the same file without passing the o/p to new file, how to achieve that?
this will delete line with some pattern and file which is used as input will be modified

Code:
sed -i '/Pattern to delete/d' file

This User Gave Thanks to Akshay Hegde For This Post:
# 3  
Old 12-23-2013
Ya, I tried this already, but I'm getting the below error

sed: illegal option ---i
# 4  
Old 12-23-2013
The in-file editing is a feature of GNU sed and not a posix standard. You may do the same in perl:
Code:
perl -i -pe 's/pattern\n//' file

P.S.: It would really help if you could also mention details about your OS and shell while posting a question :-)
# 5  
Old 12-23-2013
Hi,
If you have perl:
Code:
perl -i -n -e 'if(!/Pattern to delete/) {print}' file

Regards.
This User Gave Thanks to disedorgue For This Post:
# 6  
Old 12-23-2013
Quote:
Originally Posted by Roozo
Want to modify the same file without passing the o/p to new file, how to achieve that?
None of the suggestions in this thread edit a file in place. So, exactly why are you trying to avoid using a temp file?

sed -i has very little (if anything) to recommend it and will negatively affect your script's portability. The perl suggestions are especially dangerous, since they can lead to data loss.

Regards,
Alister
# 7  
Old 12-23-2013
The perl suggestions are especially dangerous but we can use -i[extension] to make a backup.
But, I'm ok with you and perl or sed or awk -i option mask only to use temp file.

Regards.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Make a copy of a file when someone tries to modify the file

I wish to take a backup of the file when someone tries to modify a file say /tmp/test.txt using vi, vim, cat, copy, mv commands. I'm aware of inotify which will notify me of any changes to the file however, I wish to make a backup before and not after the changes are made to the file. I... (1 Reply)
Discussion started by: mohtashims
1 Replies

2. Shell Programming and Scripting

Ed to modify a file --- or not?

Running Oracle Linux 6 (derivative of RHEL 6) Given this snippet of code in a shell script: #-- reset oratab to use 11.2 home for dwdev #-- normally we'd just use sed to do this sort of thing, but that would #-- require permissions that we don't have in the /etc/ directory, so we #-- ... (3 Replies)
Discussion started by: edstevens
3 Replies

3. Shell Programming and Scripting

Modify a file by another file: add new line and variable after string is found

hello, I have problem with writing/adjusting a shell script. I searched forum and unfortunately couldn't write scipt based on the information I found. I never wtire such so it's hard for me and I do need to modify one script immediately. case looks like: 1. 'file' that needs to be modified... (3 Replies)
Discussion started by: bipbip
3 Replies

4. Shell Programming and Scripting

Splitting a file in to multiple files and passing each individual file to a command

I have an input file with contents like: MainFile.dat: 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 ... (4 Replies)
Discussion started by: rkrish
4 Replies

5. Shell Programming and Scripting

ksh- redirect stderr to file and then modify the file

I have the following: remsh $host -n 2>>syslog_issue_list.txt grep -i -e "EMS" -e "error" -e "warning" -e "excessive" /var/adm/syslog/syslog.log | awk /"$DATE1"/ | awk -vhost="$host" '!/remsh|telnetd/{print host "\n", $0 >> "syslog_issue_list.txt"}' I am creating a health script that has... (4 Replies)
Discussion started by: chipblah84
4 Replies

6. Shell Programming and Scripting

Perl : how to modify a file without generate a temporary file

Hi All, I have a file like below, how can i insert one line after line 1 without using a temporary file in perl? line 1 line 2 line 3 expected result line 1 new line <---insert here line 2 line 3 (2 Replies)
Discussion started by: summer_cherry
2 Replies

7. UNIX for Dummies Questions & Answers

Reading from a file(passing the file as input parameter)

hi I have a shell script say primary.sh . There is a file called params my scenario is primary.sh should read all the values and echo it for example i should pass like $primary.sh params output would be Abc ... (2 Replies)
Discussion started by: ssuresh1999
2 Replies

8. Shell Programming and Scripting

Modify a file

Hi all Can anyone suggest me a good solution ? My requirement is as follows I have a plain text file similar to this... sending data to 0003345234 here is the output... ,.......... ........... ....... sending data to 00033452ab here is the output... ,.......... ........... .... (5 Replies)
Discussion started by: ./hari.sh
5 Replies

9. Shell Programming and Scripting

Can I modify the .bashrc file instead of .profile file to customize my login?

Hello, I got this question which tells me to customize my login script. Some people in the forums suggested to modify the .profile file in my home directory. I did so, but none of my customizations show up when I open the terminal after. So, I tried to modify other files in my home directory,... (1 Reply)
Discussion started by: Hyunkel
1 Replies

10. Shell Programming and Scripting

modify a file

I'm a new member of the forum, I had this new generate file since I use 'grep' and 'awk', what I want to do is get rid off the all 0s before the numbers, is there any one who could help me to figure it out? Thanks a lot! yun 0000000029 000q7472 2002/03/01 0000000030 000q7472 2002/03/01 ... (2 Replies)
Discussion started by: yxiao
2 Replies
Login or Register to Ask a Question