print every nth line

Some time back I was working with lot of data and wanted to analyze only the every 10 line sometimes and sometimes every 20th line. I had to keep doing these changes in vim or otherwise so finally I wrote a program to do this for me. If you need such a program then here it is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash -
#===============================================================================
#
#          FILE:  print_nth_line.sh
#
#         USAGE:  ./print_nth_line.sh
#
#   DESCRIPTION:  Print every nth line
#
#       OPTIONS:  ---
#  REQUIREMENTS:  ---
#          BUGS:  ---
#         NOTES:  ---
#        AUTHOR:   (),
#       COMPANY:
#       VERSION:  1.0
#       CREATED:  12/08/2010 05:36:53 PM IST
#      REVISION:  ---
#===============================================================================

if [ x"$1" == "x" ]
then
echo "Please provide the line numbers to print .. .ex 3 will print 3,6,9"
exit -1;
fi
if [ x"$2" == "x" ]
then
echo "Please provide the filename"
exit -2;
fi
awk 'temp++ { if ( temp % '$1' == 0) print $1};' $2
Enhanced by Zemanta