vi Search - First Line Not Containing a Particular String


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers vi Search - First Line Not Containing a Particular String
# 1  
Old 01-22-2009
vi Search - First Line Not Containing a Particular String

Does anyone know if there is a search command in vi that positions the cursor on the first line not containing a particular string?

I am using the version of vi that comes with HP-UX 11.11, and Vim 7.2 for Windows.

I am editing a large file. Every line of the file has a timestamp in it, the same timestamp often recurs, and I have to find the points where the timestamp changes. There are other ways to do what I have to do, and I've got around the problem before, but I'm hoping there is a neat way of doing this in vi.

As one example, I have a large number of lines with the timestamp "Jan 13 06:01". I need to position the cursor on the next line that doesn't contain "Jan 13 06:01".

I can get all the lines that don't contain "Jan 13 06:01" using a NOT with the :g command -

:g!/Jan 13 06:01/

Since the file is very large I get a lot of screenfuls of results, and after the process is over the cursor is positioned at the last of the returned lines, instead of the first.


I need a way of using a NOT in a simple forward search.

I can do a forward search using -

/Jan 13 06:01/

This includes the current line after the current cursor position in its search. If it's possible to use a NOT with this search it might, (though I don't know for sure), just find the next 12 characters that don't equal "Jan 13 06:07", which wouldn't be useful. (I don't know for sure because I don't know how to put a NOT into that search.) What I need is the next whole line that doesn't contain the string.


I can also do a forward search starting with a ":" to get to the command line before typing the first "/" -

:/Jan 13 06:01/

I don't know all the differences between this and the previous search, but I do know this one doesn't include the current line after the current cursor position in its search. Using a NOT with this search might give me what I want.

I was expecting this to work -

:!/Jan 13 06:01/

but of course, the ! opens a shell.


Any help appreciated.

Many thanks.
# 2  
Old 01-23-2009
Maybe use "G" to go the end of the file and "?Jan 13 06:01" to search backwards.
# 3  
Old 01-23-2009
Chiming in a bit late on this...the 2 attachments might be helpful to you...hope so anyway.
# 4  
Old 01-24-2009
Many thanks Ygor. That should get me what I want.

nixnoob - Thanks for the reference cards. They don't fix my problem, but there are several things on the Vim card that I didn't know Vim could do.

Best Regards,
Davf
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Search for a string,delete the line and replace with new string in a file

Hi Everyone, I have a requirement in ksh where i have a set of files in a directory. I need to search each and every file if a particular string is present in the file, delete that line and replace that line with another string expression in the same file. I am very new to unix. Kindly help... (10 Replies)
Discussion started by: Pradhikshan
10 Replies

2. Shell Programming and Scripting

Search string within a file and list common words from the line having the search string

Hi, Need your help for this scripting issue I have. I am not really good at this, so seeking your help. I have a file looking similar to this: Hello, i am human and name=ABCD. How are you? Hello, i am human and name=PQRS. I am good. Hello, i am human and name=ABCD. Good bye. Hello, i... (12 Replies)
Discussion started by: royzlife
12 Replies

3. Shell Programming and Scripting

String search and print next all lines in one line until blank line

Dear all I want to search special string in file and then print next all line in one line until blank lines come. Help me plz for same. My input file and desire op file is as under. i/p file: A1/EXT "BSCABD1_21233G1" 757 130823 1157 RADIO X-CEIVER ADMINISTRATION BTS EXTERNAL FAULT ... (7 Replies)
Discussion started by: jaydeep_sadaria
7 Replies

4. Shell Programming and Scripting

Search a string in a text file and add another string at the end of line

Dear All I am having a text file which is having more than 200 lines. EX: 001010122 12000 BIB 12000 11200 1200003 001010122 2000 AND 12000 11200 1200003 001010122 12000 KVB 12000 11200 1200003 In the above file i want to search for string KVB... (5 Replies)
Discussion started by: suryanarayana
5 Replies

5. Shell Programming and Scripting

Search a string in a text file and add another string at the particular position of a line

I am having a text file which is having more than 200 lines. EX: 001010122 12000 BIB 12000 11200 1200003 001010122 2000 AND 12000 11200 1200003 001010122 12000 KVB 12000 11200 1200003 In the above file i want to search for string KVB and add/replace... (1 Reply)
Discussion started by: suryanarayana
1 Replies

6. Shell Programming and Scripting

Search several string and convert into a single line for each search string using awk command AIX?.

I need to search the file using strings "Request Type" , " Request Method" , "Response Type" and by using result set find the xml tags and convert into a single line?. below are the scenarios. Cat test Nov 10, 2012 5:17:53 AM INFO: Request Type Line 1.... (5 Replies)
Discussion started by: laknar
5 Replies

7. Shell Programming and Scripting

Search a string and to add another string after that in new line

Hi Guys I am facing a problem:wall: In searching a string in a file and to add another string(ie. passed through command line argument) just after this(searched) string in new line. Thanks (2 Replies)
Discussion started by: kushwaha
2 Replies

8. Shell Programming and Scripting

search a string in a particular column of file and return the line number of the line

Hi All, Can you please guide me to search a string in a particular column of file and return the line number of the line where it was found using awk. As an example : abc.txt 7000,john,2,1,0,1,6 7001,elen,2,2,0,1,7 7002,sami,2,3,0,1,6 7003,mike,1,4,0,2,1 8001,nike,1,5,0,1,8... (3 Replies)
Discussion started by: arunshankar.c
3 Replies

9. Shell Programming and Scripting

search string in a file and retrieve 10 lines including string line

Hi Guys, I am trying to write a perl script to search a string "Name" in the file "FILE" and also want to create a new file and push the searched string Name line along with 10 lines following the same. can anyone of you please let me know how to go about it ? (8 Replies)
Discussion started by: sukrish
8 Replies

10. Shell Programming and Scripting

Perl: Search for string on line then search and replace text

Hi All, I have a file that I need to be able to find a pattern match on a line, search that line for a text pattern, and replace that text. An example of 4 lines in my file is: 1. MatchText_randomNumberOfText moreData ReplaceMe moreData 2. MatchText_randomNumberOfText moreData moreData... (4 Replies)
Discussion started by: Crypto
4 Replies
Login or Register to Ask a Question