Archive for July, 2008

Sort from within vi.


For the whole file try:

Goto to line one: 1G
Sort from current line to end of file: !Gsort
Or if you want to think of it as one command: 1G!Gsort

Sort a range:
Move Cursor to last line to sort
mark the line with mark ‘a’: ma
move cursor to first line to sort
sort from current line to mark ‘a’: !’asort

Now what does the special chars above mean.

‘!’ is the vi filter command, it is followed by a movement command
that says what is being filtered. That is followed by the actual
filter cmd. The filter cmd can be any executable. In this case sort.
Since vi does not know how long the filter command name is, you have
to hit carriage return to initiate the filter.

G by itself means go to the end of the file

ma means set mark a to this line. (marks a-z exist)

‘a means goto mark a.

Grep IP addresses from a file.

egrep ‘[[:digit:]]{1,3}’\.'[[:digit:]]{1,3}’\.'[[:digit:]]{1,3}’\.'[[:digit:]]{1,3}’ filename

egrep “[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}” filename

Note: this will not exclude invalid IP addresses such as 500.500.500.500, but it is something to start with.

If doing a copy an paste, the single quotes need to be typed manually until I figure out how enter them correctly.

Return top