deleting the part of the file(overwrite) using start and end point


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting deleting the part of the file(overwrite) using start and end point
# 8  
Old 12-12-2011
sorry mybad.. :-) i had made a silly mistake in the code.. :-)

---------- Post updated at 11:43 AM ---------- Previous update was at 11:42 AM ----------

but still i need help with my second doubt.. that is how to make sed not display all the contents of the file when its run...?
# 9  
Old 12-12-2011
I think this option might help u...

-n, --quiet, --silent
suppress automatic printing of pattern space
This User Gave Thanks to siva shankar For This Post:
# 10  
Old 12-12-2011
Sed will by default print all the lines in pattern space. If you want it to change this, use the -n switch. Try this:
Code:
startpoint='`HOOOP`' 
sed -n '/CREATE TABLE '$startpoint'/,${p; /^) ENGINE/q}' mysql.big

This will start printing every lines after "CREATE TABLE $startpoint", including, and will quit (q) when the line begins with ') ENGINE'.
This User Gave Thanks to mirni For This Post:
# 11  
Old 12-12-2011
thanks siva shankar.. it worked :-)

---------- Post updated at 12:10 PM ---------- Previous update was at 12:09 PM ----------

oh this idea is good, i will try it out now mirni.. :-) thanks

---------- Post updated at 12:35 PM ---------- Previous update was at 12:10 PM ----------

@mirni.. i tried the below thing
Code:
echo "`sed -n '/CREATE TABLE \`$table_name1\`/,${p; /^) ENGINE/q}' testdump2.sql > tablextract2.sql`"

but the file is empty... and also after changing most of the while loops the code is reduced from 14 secs to 13.5 secs execution time for a file with 4 tables... i think its consuming time while comparing two tables extracted into a file.. the comparion algorithm which i am using is bubblesort.. that is first line is compared with all the lines in other file.. etc etc.. i think i have to try `diff `command and put the differences to a new file and try out to extract line from this.. will try this method today.. hope it works out :-\
# 12  
Old 12-12-2011
Try this snippet...

sed -n '/CREATE TABLE \`$table_name1\`/,/^ENGINE/w tablextract2.sql}' testdump2.sql
# 13  
Old 12-12-2011
Quote:
Originally Posted by siva shankar
Try this snippet...

sed -n '/CREATE TABLE \`$table_name1\`/,/^ENGINE/w tablextract2.sql}' testdump2.sql
As mentioned before, sed's pattern matching is greedy. It will write all lines between the first 'CREATE TABLE' and last '^ENGINE'. That's why this will not work the way OP wants.
This User Gave Thanks to mirni For This Post:
# 14  
Old 12-13-2011
consider the contents of the file is
Code:
cat tablextract.sql
CREATE TABLE `Table33` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`allianceId` int(11) NOT NULL,
`migratedAt` datetime DEFAULT NULL,
`migrationDetail` text COLLATE utf8_unicode_ci,
`unigyId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)

and
Code:
col="id"

so if i perform
Code:
 cat tablextract2.sql | grep $col

or
Code:
 line=`cat tablextract2.sql | grep $col`

it displays two line since id is present in two lines.... so my question is how to make it display one line after another say in "for" loop or something like that.. i want to work on them individually so...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove lines between the start string and end string including start and end string Python

Hi, I am trying to remove lines once a string is found till another string is found including the start string and end string. I want to basically grab all the lines starting with color (closing bracket). PS: The line after the closing bracket for color could be anything (currently 'more').... (1 Reply)
Discussion started by: Dabheeruz
1 Replies

2. Shell Programming and Scripting

How to perform a hexdump using dd from start point to end point?

hi, I would like to ask or is it possible to dump a hex using dd from starting point to end point just like the "xxd -s 512 -l 512 <bin file>" I know the redirect hexdump -C but i can't figure it out the combination options of dd. Hope someone can share their knowledge.. Thanks in... (3 Replies)
Discussion started by: jao_madn
3 Replies

3. UNIX for Dummies Questions & Answers

Deleting part of file names

My server got messed up and the names of my files were not completely processed. As results I ended up getting a bunch of files with the following names: I need to remove the underscore and everything before it. Thus, the files will be renamed to something like this: Any help will be greatly... (3 Replies)
Discussion started by: Xterra
3 Replies

4. Shell Programming and Scripting

deleting blank lines ONLY at the end of the file

Hi Guys, I have a quetion which was already discussed in the forum, but for some reason all approches suggested fail for me. I have a file which have blank lines at the body of the text as well as at the end. I need to delete ONLY blank lines at the end. Unfortunatly the approach below does not... (5 Replies)
Discussion started by: aoussenko
5 Replies

5. Shell Programming and Scripting

Grepping from a point in a file to the end of the file

does any one know how to turn the equivalent of this command: awk '/2011 John Doe 8344/,0' /tmp/ops.log | egrep -c "received request" to something that would use egrep instead of awk? What the awk command does is, it searches the ops.log file for "2011 John Doe 8344". When it finds it,... (4 Replies)
Discussion started by: SkySmart
4 Replies

6. Shell Programming and Scripting

deleting the lines at the end of the file.

I have a text file with two coulmn first column is just used in to show the line number, these line number are not there in the real file. I want to delete the line 16(in this file) here, even tough there is no data inside it . this empty line is causing me a problem by throwing me garbage... (12 Replies)
Discussion started by: shashi792
12 Replies

7. UNIX for Dummies Questions & Answers

deleting word from this point to end of file in VI

Hi All i need to delete a recurring word from point "n" till end of the file. there are other words in this file so i cannot use `dG`, can anyone help me out? Kind regards Brian (4 Replies)
Discussion started by: brian112
4 Replies

8. UNIX for Advanced & Expert Users

Deleting end of line $ character in file

Hi, I've got a file where in the middle of the record is a $ end of line character, visible only when I open the file in vi and do :set list. How to I get rid of the character in the middle and keep it at the end. The middle $ character always appears after SW, so that can be used to tag it.... (3 Replies)
Discussion started by: bwrynz1
3 Replies

9. UNIX Desktop Questions & Answers

Deleting Junks at the end of each line in a file

Is there any way to delete the Junk Characters(Invalid Characters like ^,',",),(,&,# etc.,) at the end of each record in a file? I want to do this using a single line script. Thanks to all in advance!!! (5 Replies)
Discussion started by: dave_nithis
5 Replies

10. Shell Programming and Scripting

Deleting end line spaces for along file

How can i clear all space characteres for a long file at the end of each line? (3 Replies)
Discussion started by: osymad
3 Replies
Login or Register to Ask a Question