X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=study-note.org;h=d9543abb92529ce9ed93d8c1b59e30a6e0360543;hb=774a3d896f8b77326977eabbad6b96163e8ac82f;hp=4caf549934a57f168bbbb2c0790f51381054a8cc;hpb=5c411170a6aebdf4fd123ab90e679b5552620221;p=dotfiles.git diff --git a/study-note.org b/study-note.org index 4caf549..d9543ab 100644 --- a/study-note.org +++ b/study-note.org @@ -4,24 +4,9 @@ #+DATE: 2016-08-18 * Programming Languages -** gnuplog - -1. normal -#+BEGIN_SRC gnuplot :exports code :file ./temp/sin.png - reset - plot sin(x)/x -#+END_SRC - -#+RESULTS: -[[file:./temp/sin.png]] - -2. plot with data file -#+BEGIN_SRC - -#+END_SRC - - -* Perl One Line Command +** Perl +*** One line command +**** perl help #+BEGIN_SRC sh :exports both :results output replace perl --help #+END_SRC @@ -63,24 +48,83 @@ Run 'perldoc perl' for more help with Perl. #+end_example -1. Used as =grep= +**** Used as =grep= #+BEGIN_SRC sh perl -ne 'print if /expression/' xxx.log; #+END_SRC +#+BEGIN_SRC perl :results output replace + my $tt = "hello"; + ($tt =~ /h(.*)o/ ) and print $1; +#+END_SRC + +#+RESULTS: +: ell + Or #+BEGIN_SRC sh perl -wnl -e '/keyword/ and print;' xxx.log #+END_SRC - -2. Used as =awk= +**** Used as =awk= #+BEGIN_SRC sh perl -ne 'print "$1\n" if /aaa=(\d+)\s.*/' xxx.log; #+END_SRC -3. -#+BEGIN_SRC sh - perl -pe 'some code' < input.txt > output.txt +#+BEGIN_SRC fundamental :tangle ./temp/aa.txt + aa: 1 + bb: 2 + cc: 3 + dd: 4 +#+END_SRC + +#+BEGIN_SRC sh :results output replace + perl -wnl -e 'print "==$.: $_"' ./temp/aa.txt +#+END_SRC + +#+RESULTS: +: ==1: +: ==2: aa: 1 +: ==3: bb: 2 +: ==4: cc: 3 +: ==5: dd: 4 + +*** Special Variable +See special variable in perl [[http://perldoc.perl.org/perlvar.html][perlvar]], or =perldoc perlvar= +- =$.= Current line number + +** gnuplog + +1. normal +#+BEGIN_SRC gnuplot :exports code :file ./temp/sin.png + reset + plot sin(x)/x #+END_SRC +#+RESULTS: +[[file:./temp/sin.png]] + +2. plot with data file +#+BEGIN_SRC fundamental :tangle ./temp/plot.dat + # x y + 1 11 + 2 12 + 3 13 + 4 14 + 5 15 + 6 16 + 7 17 + 8 18 + 9 19 +#+END_SRC + +#+BEGIN_SRC gnuplot :file ./temp/ll.png + reset + set xrange [0:10] + set yrange [0:20] + plot "./temp/plot.dat" using 1:2 with lines +#+END_SRC + +#+RESULTS: +[[file:./temp/ll.png]] +