Friday, February 11, 2011

Increment one value in a text line, using script

I have a text file as input. I need to filter that through some program, SED, AWK, whatever, where i need to increment a value in a particular line every time i run the script.

What's the best way of doing it?

Sample text:

File Type
Rev 100
data a
data b
file loc
comment line
eof

only the "Rev 100" should change to "Rev 101"

  • awk:

    /^Rev / {
      print "Rev " $2+1
      next
    }
    
    {
      print
    }
    
  • cp textfile /tmp/textfile
    awk '{if ($1 == "Rev") printf("%s %d\n", $1, $2 + 1); else print $0;}' /tmp/textfile > textfile
    
    From livibetter

0 comments:

Post a Comment