<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>From VMS to Linux HOWTO: $B<B@83h$G$NNc(B </TITLE> <LINK HREF="VMS-to-Linux-HOWTO-12.html" REL=next> <LINK HREF="VMS-to-Linux-HOWTO-10.html" REL=previous> <LINK HREF="VMS-to-Linux-HOWTO.html#toc11" REL=contents> </HEAD> <BODY> <A HREF="VMS-to-Linux-HOWTO-12.html">$B<!$N%Z!<%8(B</A> <A HREF="VMS-to-Linux-HOWTO-10.html">$BA0$N%Z!<%8(B</A> <A HREF="VMS-to-Linux-HOWTO.html#toc11">$BL\<!$X(B</A> <HR> <H2><A NAME="Examples"></A> <A NAME="s11">11. $B<B@83h$G$NNc(B </A></H2> <P>UNIX $B$N3K$H$J$k%"%$%G%"$O!"C1=c$J%3%^%s%I$r%Q%$%W$d%j%@%$%l%/%H$K$h$j7k(B $B9g$7$F!"K\Ev$KJ#;($J:n6H$G$5$(9T$J$($k$h$&$K$9$k$3$H$G$9!#0J2<$NNc$r8fMw$/$@$5$$!#(B $B:G$b:.$_$$$C$?LdBj$K$D$$$F$N$_@bL@$7$^$7$g$&!#B>$N$3$H$K$D$$$F$O!"$3$l$^$G$N(B $B>O$d(B man $B%Z!<%8$r;29M$K$7$F$_$F$/$@$5$$!#(B <P><B>$BLdBj(B</B> : <CODE>ls</CODE> $B$r;H$&$H%U%!%$%k$N0lMw$,%9%/%m!<%k$7$F!"2hLL$+$i>C$($F$7$^$&!#(B <P><B>$B2rEz(B</B> $B!'(B <P> <BLOCKQUOTE><CODE> <PRE> $ ls | less </PRE> </CODE></BLOCKQUOTE> <P><B>$BLdBj(B</B> : $BC18l$N%j%9%H$r4^$s$@%U%!%$%k$,$"$j$^$9!#$=$l$r5U=g$G%=!<%H$7!"0u:~$7$?$$$N$G$9$,!#(B <P><B>$B2rEz(B</B>$B!'(B <P> <BLOCKQUOTE><CODE> <PRE> $ cat myfile.txt | sort -r | lpr </PRE> </CODE></BLOCKQUOTE> <P><B>$BLdBj(B</B> : $B%G!<%?%U%!%$%kFb$KF1$8%G!<%?$r4^$`9T$,4v$D$b$"$j$^$9!#(B $B$=$l$r@Z$j5M$a$kJ}K!$O$"$j$^$9$+!#(B <P><B>$B2rEz(B</B>$B!'(B <P> <BLOCKQUOTE><CODE> <PRE> $ sort datafile.dat | uniq > newfile.dat </PRE> </CODE></BLOCKQUOTE> <P><B>$BLdBj(B</B> : $B!V(Bmypaper.txt$B!W$+!V(Bmypaper.tex$B!W$+!"$=$l$K;w$?L>A0$N%U%!%$(B $B%k$,$"$k$N$G$9$,!"$I$3$K$"$k$N$+;W$$=P$;$^$;$s!#8+$D$1$kJ}K!$O!)(B <P><B>$B2rEz(B</B>$B!'(B <P> <BLOCKQUOTE><CODE> <PRE> $ find ~ -name "mypaper*" </PRE> </CODE></BLOCKQUOTE> <P>$B@bL@(B $B!'(B <CODE>find</CODE> $B$O%G%#%l%/%H%j%D%j!<(B($B$3$NNc$G$O!"(B<CODE>~</CODE> $B0J9_(B)$B$N(B $BA4$F$N%U%!%$%k$r0lMw$9$k$9$4$/JXMx$J%3%^%s%I$G$9!#(B<CODE>-name</CODE> $B$r;H$$%U%#(B $B%k%?!<$r$+$1$F=PNO$9$k$3$H$,$G$-$^$9!#(B <P><B>$BLdBj(B</B> : $B!V(Bentropy$B!W$r4^$s$@%U%!%$%k$,%G%#%l%/%H%jCf$K$"$j$^$9!#(B <CODE>SEARCH</CODE> $B%3%^%s%I$N$h$&$K$=$l$,$I$N%U%!%$%k$K$"$k$+C5$9J}K!$O$"$j$^$9$+!)(B <P><B>$B2r7hJ}K!(B</B>$B!'$O$$!"$3$N$h$&$K$7$^$9!#(B <P> <BLOCKQUOTE><CODE> <PRE> $ grep -l 'entropy' * </PRE> </CODE></BLOCKQUOTE> <P><B>$BLdBj(B</B> : $B$I$3$+$K!V(Bentropy$B!W$r4^$s$@%F%-%9%H%U%!%$%k$,$"$k$H;W$&$s$G(B $B$9$,!"$=$l$,$I$3$N$J$s$F$$$&%U%!%$%k$+CN$j$?$$!#(BVMS $B$G$O(B <CODE>search entropy [...]*.*;*</CODE> $B$r;H$$$^$7$?$,!"(B<CODE>grep</CODE> $B$G$O%5%V%G%#%l%/%H%j0J2<$r:F(B $B5"E*$KC5$9$3$H$,$G$-$^$;$s!#$$$$9M$($"$j$^$9$+!)(B <P><B>$B2rEz(B</B>$B!'(B <P> <BLOCKQUOTE><CODE> <PRE> $ find . -exec grep -l "entropy" {} \; 2> /dev/null </PRE> </CODE></BLOCKQUOTE> <P>$B@bL@!'(B<CODE>find .</CODE> $B$O%+%l%s%H%G%#%l%/%H%j$+$i;O$a$F!"A4$F$N%U%!%$%k0lMw$r=PNO$7!"(B <CODE>-exec grep -l "entropy"</CODE> $B$O3F%U%!%$%k$rBP>]$K<B9T$7$^$9(B (<CODE>{}</CODE> $B$K$h$jI=$5$l$k(B)$B!#(B<CODE>\</CODE> $B$O%3%^%s%I$r=*N;$5$;$^$9!#(B $BEvA3!"$3$N9=J8$,LLE]$@$H46$8$k$G$7$g$&$M!#(B <P>$BBe$o$j$K!"<!$N$h$&$J%9%/%j%W%H%U%!%$%k$r=q$/$HNI$$$G$7$g$&!#(B ($BLuCm!';d$O(B <CODE>find . -type f |xargs grep 'entropy'</CODE> $B$N$h$&$K$7$F$$$^$9(B) <P> <P> <HR> <PRE> #!/bin/sh # rgrep: $B:F5"E*$J(B grep if [ $# != 3 ] then echo "Usage: rgrep --switches 'pattern' 'directory'" exit 1 fi find $3 -name "*" -exec grep $1 $2 {} \; 2> /dev/null </PRE> <HR> <P>$B@bL@!'(B <CODE>search</CODE> $B$N$h$&$J(B <CODE>grep</CODE> $B$H(B <CODE>find</CODE> $B$H$rAH$_9g$o$;$l$P!"(B $BN>J}$N@$3&$G:G$b;H$$$d$9$$$b$N$K$J$k$H;W$$$^$9!#(B <P><B>$BLdBj(B</B> : 2 $B9T$N%X%C%@!<$G;O$^$k%G!<%?%U%!%$%k$,$"$j!"3F9T$K$OITMW$J%9%Z!<(B $B%9$G6h@Z$i$l$?(B n $B8D$N%G!<%?$,$"$j$^$9!#3F9T$N(B 2 $BHVL\$H(B 5 $BHVL\$N%G!<%?$,M_(B $B$7$$$N$G$9$,!"(BFortran $B$G%W%m%0%i%`$r=q$$$?J}$,$$$$$G$7$g$&$+!)(B <P><B>$B2rEz(B</B> : $B$$$$$(!"$3$C$A$NJ}$,Aa$$!#(B <P> <BLOCKQUOTE><CODE> <PRE> $ awk 'NL > 2 {print $2, "\t", $5}' datafile.dat > newfile.dat </PRE> </CODE></BLOCKQUOTE> <P>$B@bL@!'%3%^%s%I(B <CODE>awk</CODE> $B$O<B:]$O%W%m%0%i%`8@8l$G!"%G!<%?%U%!%$%k$N(B 3 $B9TL\(B $B$+$i3+;O$7$F!"3F9T$N(B 2 $BHVL\$H(B 5 $BHVL\$r%?%V$G6h@Z$C$F%W%j%s%H$7$^$9!#(B <CODE>awk</CODE> $B$r3X$S$J$5$$(B --- $BB?$/$N;~4V$r@aLs$G$-$^$9$h!#(B <P> <P><B>$BLdBj(B</B> : FTP $B%5%$%H$+$i%@%&%s%m!<%I$7$?(B <CODE>ls-lR.gz</CODE> $B$NFbMF$rD4$Y$?(B $B$$!#%5%V%G%#%l%/%H%jKh$K!V7W(B xxxx $B!W$N9T$,4^$^$l$F$$$^$9!#(Bxxxx $B$O%G%#%l(B $B%/%H%jFbMF$r(B KB $BC10L$N%5%$%:$GI=$7$?$b$N$G$9!#$3$N(B xxxx $B$N=87W$r9T$J$$$?$$$N$G$9$,!#(B <P><B>$B2rEz(B</B>$B!'(B <P> <BLOCKQUOTE><CODE> <PRE> $ zcat ls-lR.gz | awk ' $1 == "total" { i += $2 } END {print i}' </PRE> </CODE></BLOCKQUOTE> <P>$B@bL@!'(B<CODE>zcat</CODE> $B$O(B <CODE>.gz</CODE> $B%U%!%$%k$NFbMF$r=PNO$7!"(B<CODE>awk</CODE> $B$K%Q%$%W$7(B $B$^$9!#(B<CODE>awk</CODE> $B$O(B man $B%Z!<%8$KCzG+$K$N$C$F$$$^$9$h(B ;-) <P><B>$BLdBj(B</B>$B!'%G!<%?%U%!%$%k$NCM$r7W;;$9$k(B Fortran $B%W%m%0%i%`(B <CODE>myprog</CODE> $B$,(B $B$"$j$^$9!#?tI4$N%U%!%$%k$rFI$_9~$^$;$F7k2L$r=PNO$7$?$$$N$G$9$,!"%G!<%?%U%!(B $B%$%kL>$r$$$A$$$ABG$D$N$,LLE]$G$9!#(BVMS $B$G$OD9$$%3%^%s%I%U%!%$%k$r=q$/$H(B $B;W$$$^$9$,!"(BLinux $B$G$O$I$&$9$l$P$$$$$N$G$7$g$&!)(B <P><B>$B2rEz(B</B>: $B$9$4$/C;$$%9%/%j%W%H$G$G$-$^$9$h!#(B<CODE>myprog</CODE> $B$,>o$K!V(B <CODE>mydata.dat</CODE> $B!W$rFI$_!"7k2L$rI8=`=PNO(B( stdout )$B$KI=<($9$k$h$&$K$7$F$*$$$F!"<!$N%9%/%j%W%H(B $B$r=q$-$^$9!#(B <P> <HR> <PRE> #!/bin/sh # myprog.sh: $BB?$/$N0[$J$k%U%!%$%k$KBP$7$FF1$8%3%^%s%I$r<B9T$7$^$9!#(B # $B;HMQJ}K!!'(B myprog.sh *.dat for file in $* # for all parameters (e.g. *.dat) do # $B%U%!%$%kL>$r(B result.dat $B$KDI2C$7$F$$$-$^$9!#(B echo -n "${file}: " >> results.dat # $B8=:_$N0z?t$r(B mydata.dat $B$K%3%T!<$7$F!"(Bmyprog $B$r<B9T$7$^$9!#(B # $B$=$7$F!"=PNO$r(B results.dat $B$KDI2C$7$^$9!#(B cp ${file} mydata.dat ; myprog >> results.dat done </PRE> <HR> <P><B>$BLdBj(B</B> : $B;d$N%F%-%9%H%U%!%$%kFb$N!V(Bgeology$B!W$rA4$F!V(Bgeophysics$B!W$KCV(B $B$-49$($?$$$N$G$9$,!"<j:n6H$G$7$J$1$l$J$i$J$$$N$G$7$g$&$+!)(B <P><B>$B2rEz(B</B>:$B$$$$$(!"$3$N%7%'%k%9%/%j%W%H$r=q$$$F$/$@$5$$!#(B <P> <P> <HR> <PRE> #!/bin/sh # $* $B$N(B $1 $B$r(B $2 $B$KCV$-49$($^$9!#(B # $B;HMQJ}K!!'(Breplace "old-pattern" "new-pattern" file [file...] OLD=$1 # $B%9%/%j%W%H$N:G=i$N%Q%i%a!<%?(B NEW=$2 # 2 $BHVL\$N%Q%i%a!<%?(B shift ; shift # $B:G=i$NFs$D$N%Q%i%a!<%?$r<N$F$k!#<!$O%U%!%$%kL>$G$9!#(B for file in $* # $B%Q%i%a!<%?$H$7$FM?$($i$l$?A4$F$N%U%!%$%k$G%k!<%W$7$^$9!#(B do # OLD $B$r(B NEW $B$KCV49$7$F!"%F%s%]%i%j%U%!%$%k$KJ]B8$7$^$9!#(B sed "s/$OLD/$NEW/g" ${file} > ${file}.new # $B%F%s%]%i%j%U%!%$%k$r%*%j%8%J%k%U%!%$%kL>$K%j%M!<%`$7$^$9!#(B /bin/mv ${file}.new ${file} done </PRE> <HR> <P><B>$BLdBj(B</B> : $B4v$D$+%G!<%?%U%!%$%k$,$"$C$F!"$=$ND9$5$OH=$i$J$$$s$G$9$,!"(B $B:G8e$+$i(B 1 $B$DA0$N9T$H(B 2 $B$DA0$N9T$r:o=|$9$k$K$O(B $B!"$(!<$H(B...$B<j:n6H$G$9$+!)(B <P><B>$B2rEz(B</B>: $B$b$A$m$s!"%N!<!#%9%/%j%W%H$r=q$$$F$/$@$5$$!#(B <P> <P> <HR> <PRE> #!/bin/sh # prune.sh $B$O(B n-1$BHVL\$H(B n-2 $BHVL\$N9T$r%U%!%$%k$+$i:o=|$7$^$9!#(B # $B;HMQJ}K!!'(B prune.sh file [file...] for file in $* # $BA4$F$N%Q%i%a!<%?$G%k!<%W$7$^$9!#(B do LINES=`wc -l $file | awk '{print $1}'` # $B%U%!%$%k$N9THV9f(B LINES=`expr $LINES - 3` # LINES = LINES - 3 head -n $LINES $file > $file.new # $B:G=i(B KINES $B9T$r=PNO$7$^$9!#(B tail -n 1 $file >> $file.new # $B:G=*9T$r2C$($^$9!#(B done </PRE> <HR> <P>$B$3$l$i$NNc$,$"$J$?$N6=L#$r$=$=$j$^$9$h$&$K(B... <P> <HR> <A HREF="VMS-to-Linux-HOWTO-12.html">$B<!$N%Z!<%8(B</A> <A HREF="VMS-to-Linux-HOWTO-10.html">$BA0$N%Z!<%8(B</A> <A HREF="VMS-to-Linux-HOWTO.html#toc11">$BL\<!$X(B</A> </BODY> </HTML>