You probably want to learn how to do it yourself instead of getting a ready-made recipe, so i will explain it step by step:
The example line you have shown are treated by two steps:
1) remove the (fixed?) string "Nmap scan report for " from the beginning of the line.
2) add a comma between word 1 and the rest if there are more than two words.
3) Remove braces around IP-Addresses
Let us start with the first, which is easy: replace the fixed string with nothing. We "anchor" the fixed string we are searching for at the beginning of the line by using the "^" metacharacter (meaning "beginning of the line"):
Let this run, observe the results and continue if you are satisfied with them. Note that we do NOT write anything to disk, so we can refine and repeat any change which is only close to what we want.
Next we add code for the comma: there are two words only if there is a sequence that goes "(any number of) non-blank characters, followed by a blank, followed by other non-blank characters". If we find such a sequence we change it by adding a comma before the blank. Replace "<b>" by literal blanks in the following:
Now to the last part: removing the braces. First, let us find out what an "IP-Adress" looks like: 4 groups of numbers, divided by 3 dots:
Upon closer inspection, the first digit in each number can only be 0-2 and the first two digits are optional:
Let us seek for this and remove any braces surrounding it:
Again, watch the output and check if this is indeed what you want. Finally, if you are satisfied with the result, save it to a file:
Hi ,
I have a file where i have modifed certain things compared to original file . The difference of the original file and modified file is as follows.
# diff mir_lex.c.modified mir_lex.c.orig
3209c3209
< if(yy_current_buffer -> yy_is_our_buffer == 0) {
---
>... (5 Replies)
Hi,
I have a file with reoccurring patterns and I want extract the 3rd line after the match, then delete another pattern from that third line.
For example the file is in the following format:
Hello
Name: Abc
Number: 123
Hello
Name: FQE
Number: 543
This occurs more than 100... (4 Replies)
I am stranded with a problem. Please solve.
How will you remove blank lines from a file using sed and grep? ( blank line contains nothing or only white spaces).
I run the below commands of sed and grep but grep isn't giving output as desired. Why?
sed '/^*$/d' blank
grep -v "^*$" blank... (3 Replies)
So I have a html file with a bunch of words inside tags and I need to extract just the words, and I'm not sure exactly what the best way to do this is. The format is as follows:
<tr>
<td>word 1</td>
<td>word 2</td>
</tr>
And all I want to extract is the 'word 2'. First I tried... (3 Replies)
HI all,
i have a line in a file it contains
Code:
one;two_1_10;two_2_10;two_3_10;three~
now i need to get the output as
Code:
one;two_1_abc_10;two_2_abc_10;two_3_abc_10;three~ ( 1 should be replaced with 1_abc for two__abc_10 , and one more thing the number of occurances of... (6 Replies)
hello everybody!
I have a html file which is not properly formatted meaning that the whole content is in one line.
I want to to cut out certain parts of that file. Those parts are between ' #" ' and ' " ' and always start with ' sec_ ' and after the ' sec_ ' any number of characters and ' _... (2 Replies)
Hi All,
I have created a bourne script that basically wants to split a file up in to different parts. I have this working if the file has all the information on different lines but if it doesn't then it doesn't work.
i.e.
If this is the file
hello
12345
good bye
6789
I could grep all the... (5 Replies)
I have a file that contains many instances of double dollar signs. I want to use sed to get the first occurrence. for example, given the following data.
#Beginning of file
AB
34
$$
AB
$$
AB
98
$$
I only want to pull out:
AB
34
$$ (1 Reply)
OK, I am trying to become more familiar with grep and sed.
I have a file that is storing some records. I am allowing a user to
search for a keyword in the file with this:
grep -i "$keyword" testFile|sed -n -e 's/^/\
/' -e 's/:/\
/gp'
... (15 Replies)
I am really lost I don't know what this line does. Please help I'm very lost. Thanks in advance.
cat CPROGRAMS.c
|sed 's// /g'|tr ' ' '\012'
|grep ''
|sed 's/^*/ /'
|grep '($'|sort -u|tr -d "("` (4 Replies)