?

Log in

No account? Create an account

Previous Entry | Next Entry

Same Task, different ways of doing!

 A) <Removing Blank Lines>
$ cat test.out
this is line 1
this is line 2
some lines here


there are 2 blank lines above
this is last line

$ grep -v '^$' test.out
$ grep '.' test.out
$ sed '/^$/d' test.out
$ sed -n '/^$/!p' test.out
$ awk NF test.out
$ awk '/./' test.out

$ cat test1.out
this is line 1
this is line 2
some lines here
this is last line

B) <Lines that doesn't contain a particular regexp>
$ grep -v 'this' test1.out
$ awk '!/this/' test1.out
$ sed '/this/d' test1.out
$ sed -n '/this/!p' test1.out

will print
some lines here

<Printing last Line>
$ tail -1 test1.out
$ sed '$!d' test1.out
$ sed -n '$p' test1.out
$ awk 'END {print}' test1.out

will print
this is last line

C) <Printing first line>
$ head -1 test1.out
$ sed q test1.out
$ awk 'NR>1 {exit};1' test1.out

will print
this is line 1

D) <Number of lines in a file>
$ wc -l test1.out | cut -d " " -f1
$ sed -n '$=' test1.out
$ awk 'END {print NR}' test1.out

E) <Printing first 2 lines >
$ awk 'NR<3' test1.out
$ head -2 test1.out
$ sed '1,2 p' test1.out

$ cat names.out
Lehe
Alex
Themo
Demo
Saik

F) <Print the line immediately before a regex, but not the line containing the regex>

$ awk '/Alex/ {print x};{x=$0}' names.out
$ sed -n '/Alex/{g;1!p;};h' names.out
$ S=`grep -n Alex names.out | awk -F : '{print $1}'`; S=`expr $S - 1`; sed -n "$S p" names.out

will print
Lehe

G) <print the line immediately after a regexp, but not the line containing the regexp>

$ sed -n '/Lehe/{n;p;}' names.out
$ awk '/Lehe/{getline;print}' names.out
$ S=`grep -n Lehe names.out | awk -F : '{print $1}'`; S=`expr $S + 1`; sed -n "$S p" names.out

will print
Alex 
 

Profile

jaduks
Jadu Kumar Saikia

Latest Month

January 2008
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
Powered by LiveJournal.com
Designed by chasethestars