Zhao Peng <[EMAIL PROTECTED]> writes: > Hi > > Suppose that I have a file called abc.txt, which contains the > following 5 lines (columns are delimited by ",") > > "name","age","school" > "jerry" ,"21","univ of Vermont" > "jesse","28","Dartmouth college" > "jack","18","univ of Penn" > "john","20","univ of south Florida" > > My OS is RedHat Enterprise, how could I extract the string which > contains "univ" and create an output file called def.txt, which only > has 3 following lines: > > univ of Vermont > univ of Penn > univ of south Florida >
Here are 3, pick your poison: awk -F, '/univ/ && gsub(/\"/,"") {print $3}' abc.txt > def.txt perl -F, -ane 'if (/univ/) { $F[2] =~ s/\"//g; print $F[2]};' abc.txt \ > def.txt grep univ abc.txt | cut -f3 -d, | sed 's/\"//g' > def.txt > Please suggest the simplest command line approach. Simplest by what measurement? - fewest processes spawned - most efficient - least amount of typing - easiest to remember - easiest to understand - ability to debug - extensibility Simplest is a rather subjective approach... -- Seeya, Paul _______________________________________________ gnhlug-discuss mailing list gnhlug-discuss@mail.gnhlug.org http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss