2.4.7 \ AWK AWK......
|
|
|
- きゅうた ひのと
- 7 years ago
- Views:
Transcription
1 AWK ( ): ( ): 1.1 AWK C Java AWK perl, ruby web AWK A4 A4 1 ( :p) 2 1 AWK 2 2 AWK AWK AWK NR NF AWK AWK * ˆ $ [ ] ( )
2 2.4.7 \ AWK AWK AWK AWK AWK AWK AWK printf AWK statements AWK AWK : AWK AWK 35 5 AWK : : : : : Mule/Emacs AWK 1? 3 ls -l ls -l r--r--r-- 1 ogurisu ogurisu auctex-9.9p.tar.gz -r--r--r-- 1 ogurisu ogurisu cmail tar.gz -rw-r--r-- 1 ogurisu ogurisu :32 gnuplot_3.7.tar.gz -rw-r--r-- 1 ogurisu ogurisu :59 ruby tar.gz -r--r--r-- 1 ogurisu ogurisu sh-text.tar.gz -r--r--r-- 1 ogurisu ogurisu yatex1.66.tar.gz 3 2
3 1.4 ( 1,400,000 ) 1? ( )? AWK ls -l gawk {a+=$5; END {print a; gawk AWK 4 {a+=$5; END {print a; AWK sum.awk # sum.awk: { END { a += $5; print a; gawk a+=$5; END print a; gawk -f sum.awk 5 ls -l gawk -f sum.awk AWK C Fortran ls 6 sin(x) [0, π] 100 C sin.awk # sin.awk: BEGIN { for (i = 0; i <= 100; i++) printf("1.6f\n", sin(i*3.1415/100)); 4 gawk GNU(FSF ) AWK Linux AWK gawk /usr/local/bin/ /usr/bin/ 5 gawk -f 6 3
4 gawk -f./sin.awk C? C 7 AWK 3 K C Kerninghan A Aho W Weinberger 2 AWK AWK miyabe.data EUC /02/ /09/ /10/ /10/ /10/ /09/ /11/ /03/ /11/ /02/ /07/ /06/ /04/ /11/ /10/ /12/ /05/ /03/ /09/ /12/25 M /01/ /09/ /06/ /12/ /09/ /01/ C C AWK 8 jgawk 4
5 895 97/10/ /06/ /02/ /09/ /01/ AWK AWK $1 $2 $ /02/ $1= $2=743 $3=98/02/01 $4= $5= $6= {print $1; AWK $1 (print) gawk {print $1; miyabe.data ( ) { $2 gawk {print $2; miyabe.data
6 ( ) ( ) /10/ /09/ /11/28 ( ) 2 $2 2 ( 2.6 ) miyabe.new $1 $3 print $1 $3 gawk {print $1 $3; miyabe.new 98/02/01 96/09/01 96/10/10 ( ) $1 $3, gawk {print $1, $3; miyabe.new 98/02/01 96/09/01 96/10/10 ( ) 2.2 AWK NR NF AWK AWK NR NF NR gawk {print NR, $1, $3; miyabe.new 1 6
7 2 98/02/ /09/ /10/10 ( ) $0 (cat -n miyabe.new ) gawk {print NR, $0; miyabe.new /02/ /09/ /10/10 ( ) NR NR 3 3 { gawk NR == 3 {print NR, $0; miyabe.new /09/ gawk NR <= 3 {print NR, $0; miyabe.new /02/ /09/ &&! gawk NR >4 && NR < 7 {print NR, $0 miyabe.new /10/ /10/30 gawk NR == 2 NR == 4 {print NR, $0 miyabe.new /02/ /10/10 NR!= 1 gawk!(nr == 1) {print NR, $0 miyabe.new head /02/ /09/ /10/ /10/30 ( ) NF 7
8 2.3 AWK { / 9 gawk / / {print $0; miyabe.new /07/ /09/ $0 print $0 gawk / / {print; miyabe.new /07/ /09/ {print; / / gawk / / miyabe.new /07/ /09/ /96/ gawk /96/ miyabe.new /09/ /10/ /10/ /07/ /09/ /01/ ? AWK / / / /96// / \ /96\// 9 ( 2.4 ) 8
9 gawk /96\// miyabe.new /09/ /10/ /10/ /07/ /01/30 \ gawk /96// miyabe.new gawk: cmd. line:1: /96// gawk: cmd. line:1: ^ syntax error gawk: cmd. line:1: /96// gawk: cmd. line:1: ^ unexpected newline or end of string / / &&! gawk /96\// /97\// miyabe.new /09/ /10/ /10/ /11/ /02/ /07/ /11/ /05/ /03/ /01/30 ( ) NR ( 2.2 ) {print; gawk NR == 2 miyabe.new /02/ AWK / mule vi grep sed UNIX /abc123/ 9
10 abc123 AWK gawk /abc/ file file abc /abc/ 10. * +? ^ $ [ ] ( ) \ /abc def/ abc def gawk /abc def/ file file abc def /abc def 0123/ ( ) /a...b/ 3 a b aaaab a012b a b ( 3 ) gawk /a...c/ file file 3 a b * 0 /ab*c/ ac abc abbc abbbc abbbbc /abc/ abc abc abc abc / 10
11 /ab+c/ abc abbc abbbc abbbbc * ac? 0 1 /ab?c/ ac abc. * /a.*c/ a c ˆ $ ^ $ /^abc/ 3 abc "abcdef" "0abcdef" /abc$/ 3 abc "0123abc" "abcdef" /^$/! gawk!/^$/ file file ( abcd0123 ) /var/mail/abcd0123 gawk /^From/ /var/mail/abcd0123 From [ ] [ ] /199[ ]/
12 /199[0-9]/ /[1-9][0-9]*/ 1 [ ] ^ ^ [ ] /[^0-9]/ /a[^ ]+b/ a b 1 ^ 2 /[a-z^]/ ^ ( ) ( ) /ab(cd)*/ ab abcd abcdcd abcdcdcd... /(a b)cd/ acd bcd /((a b)?cd def)/ cd acd bcd def \. * +? ^ $ [ ] ( ) /./ \ 12
13 /\./ \ \ /\\/. * 0 + 1? 1 ^ $ [ ] ( ) \ \ C \t \n /[ \t\f\n\r\v]/ AWK /[ \t]/ \\ \a ASCII BEL \b \f \n \r ( ) \t \v \x[0-9a-f]+ \x 16 "\x41" A \ddd "\101" A \c c 13
14 2.5 AWK BEGIN END gawk BEGIN { 1 { END { 2 miyabe.new AWK BEGIN END gawk { END { 2 miyabe.new gawk BEGIN { 1 { miyabe.new gawk { miyabe.new / / NR gawk /96\// { END { 2 miyabe.new gawk BEGIN { 1 /96\// { miyabe.new gawk /96\// { miyabe.new miyabe.new? all gawk BEGIN {all=0; { all += $2; END { print all; miyabe.new BEGIN all 0 all $2 ( ) += C all END all 1.05 gawk BEGIN {all=0; { all += $2; END { print all*1.05; miyabe.new / / gawk BEGIN {all=0; /96\// { all += $2; END { print all*1.05; miyabe.new BEGIN 0 AWK 0 BEGIN {all=0; gawk /96\// { all += $2; END { print all*1.05; miyabe.new
15 2.6 AWK?,, miyabe.csv AWK -F, gawk -F, { print $1, $3; miyabe.csv 98/02/01 96/09/01 96/10/10 96/10/30 98/10/30 98/09/01 97/11/28 90/03/01 98/11/18 ( ) -F BEGIN (Field Separator ) FS gawk BEGIN { FS=","; { print $1, $3; miyabe.csv ( 3 ) (,) CSV (comma-separated value) 11 3 AWK AWK 3.1 AWK gawk BEGIN { FS=","; /96\// { print $1, $3; miyabe.csv 11 15
16 fs.awk # fs.awk:, BEGIN { FS = ","; /96\// { print $1, $3; gawk -f gawk -f./fs.awk miyabe.csv 96/09/01 96/10/10 96/10/30 96/07/15 96/01/30 AWK AWK AWK.awk mule/emacs AWK 12 #!/usr/local/bin/awk -f # fs.0.awk: BEGIN { FS = ","; /96\// { print $1, $3; 3.2 AWK fs.awk 1 2 # fs.awk:, BEGIN { FS = ","; 12 AWK M-x awk-mode 16
17 /96\// { print $1, $3; # 1 chmod chmod 755 fs.awk ls -l fs.awk -rwxr-xr-x 1 ogurisu ogurisu 120 Dec 10 02:18 fs.awk chmod +x fs.awk awk fs.awk./fs.awk sample.cvs UNIX OS 2 #! #! ( /usr/local/bin/gawk -f) 13 2./fs.awk sample.cvs /usr/local/bin/gawk -f./fs.awk sample.cvs UNIX bin mkdir ~/bin ~/.cshrc set path = (~/bin $path) bash ~/.profile ~/.bashrc PATH=~/bin:$PATH chmod ~/bin 13 gawk /usr/local/bin /usr/bin/gawk 17
18 3.3 AWK AWK ( ) ( 3.8 ) AWK pattern { action statements BEGIN END / / NR /96\// { print $1, $3; /96/ { print $1, $3; gawk {print $1, $3; miyabe.new gawk /96\// miyabe.new {print; ; gawk /95\//; /96\// miyabe.new /09/ /10/ /10/ /07/ /12/ /09/ /01/ /09/ /02/ gawk /9[56]\// miyabe.new {print; gawk /95\// {print $1; /96\// {print $3; miyabe.new 96/09/01 96/10/10 96/10/30 96/07/15 18
19 96/01/30 95 ($) 96 ($3) # p_and_a.awk: /95\// { print $1; /96\// { print $3; BEGIN END 3.4 AWK printf 14 C [a-za-z][a-za-z0-9]* C AWK ( ) AWK AWK C printf sin.awk # sin.awk: BEGIN { for (i = 0; i <= 100; i++) printf("1.6f\n", sin(i*3.1415/100)); i "1.6f\n" printf f C BEGIN BEGIN ( ) 14 19
20 3.5 AWK statements C expr atan2(y,x) cos(expr) exp(expr) int(expr) log(expr) rand() sin(expr) sqrt(expr) srand(expr) y/x ( ) ( ) 0 1 ( ) expr expr gsub(r,s,t) index(s,t) length(s) match(s,r) split(s,a,r) sprintf(fmt,list) sub(r,s,t) substr(s,i,n) tolower(str) toupper(str) t r s t $0 s t t 0 s s $0 s r 0 RSTART RLENGT s r a r FS a fmt list gsub() s i n n i str str gsub gawk {gsub(/ /, " "); print; miyabe.csv,,,,,,743,98/02/01,, -22-8,,505,96/09/01,, -22-6,,1650,96/10/10,, ( ) 20
21 ls AWK-INTRO.AUX FS.0.AWK MAKEFILE SAMPLE1.DATA SEC3.TEX AWK-INTRO.DVI FS.AWK MAKEFILE.FINAL SEC0.TEX SIN.AWK AWK-INTRO.LOG GSUB.AWK MIYABE.CSV SEC1.TEX SUM.AWK AWK-INTRO.TEX KUKU.AWK MIYABE.DATA SEC2.TEX mv AWK-INTRO.AUX awk-intro.aux 15 ls gawk {print "mv -v", $0, tolower($0); mv -v AWK-INTRO.AUX awk-intro.aux mv -v AWK-INTRO.DVI awk-intro.dvi mv -v AWK-INTRO.LOG awk-intro.log mv -v AWK-INTRO.TEX awk-intro.tex mv -v FS.0.AWK fs.0.awk ( ) mv sh 16 ls gawk {print "mv -v", $0, tolower($0); sh AWK-INTRO.AUX -> awk-intro.aux AWK-INTRO.DVI -> awk-intro.dvi AWK-INTRO.LOG -> awk-intro.log AWK-INTRO.TEX -> awk-intro.tex FS.0.AWK -> fs.0.awk ls ( ) awk-intro.aux fs.0.awk makefile sample1.data sec3.tex awk-intro.dvi fs.awk makefile.final sec0.tex sin.awk awk-intro.log gsub.awk miyabe.csv sec1.tex sum.awk awk-intro.tex kuku.awk miyabe.data sec2.tex AWK sh (sh ) sub mv -v 15 ruby tr UNIX 16 sh sh 21
22 3.6 AWK AWK if while for if (condition) statement [ else statement ] while (condition) statement do statement while (condition) for (expr1; expr2; expr3) statement sin.awk C # sin.awk: BEGIN { for (i = 0; i <= 100; i++) printf("1.6f\n", sin(i*3.1415/100)); < > <= >= ==!= &&! C nf.awk ( ) 6 # nf.awk: 6 { if (NF > 6) { print NR " (" NF " :)", $0; else if (NF < 6) { print NR " (" NF " :)", $0; else { print NR " "; # C reg.awk ~ # reg.awk: BEGIN { FS = ","; { if ($0 ~ /96\//) print $1, $3; # 22
23 reg2.awk # reg2.awk: (2) BEGIN { FS = ","; /96\/ { print $1, $3; { C kuku.awk # kuku.awk: BEGIN { for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) printf("3d", i * j); printf("\n");./kuku.awk C 3.7 AWK : AWK C 23
24 C # array_1dim.awk: 0 9 BEGIN { for (i = 0; i < 10; i++) a[i] = i; sum = 0; for (i = 0; i < 10; i++) sum += a[i]; print sum; array-1dim.awk 2 C, array-2dim.awk # array_2dim.awk: BEGIN { # A a[0,0] = 1; a[0,1] = 2; a[0,2] = 3; a[0,3] = 4; a[1,0] = 1; a[1,1] = 2; a[1,2] = 3; a[1,3] = 4; a[2,0] = 1; a[2,1] = 1; a[2,2] = 3; a[2,3] = 4; a[3,0] = 1; a[3,1] = 1; a[3,2] = 1; a[3,3] = 4; # B b[0,0] = 0; b[0,1] = 0; b[0,2] = 0; b[0,3] = 1; b[1,0] = 0; b[1,1] = 0; b[1,2] = 1; b[1,3] = 0; b[2,0] = 0; b[2,1] = 1; b[2,2] = 0; b[2,3] = 0; b[3,0] = 1; b[3,1] = 0; b[3,2] = 0; b[3,3] = 0; # : C = AB for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) { c[i,j] = 0; for (k = 0; k < 4; k++) c[i,j] += a[i,k] * b[k,j]; # print "A="; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) printf("4d", a[i,j]); 24
25 print ""; # print "B="; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) printf("4d", b[i,j]); print ""; # print "AB="; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) printf("4d", c[i,j]); print ""; #./array-2dim.awk A= B= AB= matrix.data array-read.awk row +1 NF 25
26 # array_read.awk: { row++; # column = NF; # for (j = 1; j <= column; j++) a[row,j] = $j; END { for (i = 1; i <= row; i++) { # for (j = 1; j <= column; j++) printf("a[d,d]=d, ", i, j, a[i,j]); print "";./array-read.awk matrix.data a[1,1]=1, a[1,2]=2, a[1,3]=3, a[2,1]=4, a[2,2]=5, a[2,3]=6, a[3,1]=7, a[3,2]=8, a[3,3]=9, matrix2.data 2 array-read2.awk # # # # # 2 a[1,i,j] a[2,i,j] c[i,j]./array-read2.awk matrix2.data # 1 : # #
27 # # 2 : # # # # array-read1.awk array-read2.awk AWK 2 (csh bash) ; command1 command2 command3 command1; command2; command3 2./array-read2.awk matrix2.data; echo;./array-read2.awk matrix2.data # 1 : # # # # 2 : # # # # # 1 : # # # # 2 : # # # # 27
28 echo 17 array-read2.awk array-read2.awk (./array-read2.awk matrix2.data; echo; \./array-read2.awk matrix2.data)./array-read2.awk # 1 : # # # # 2 : # # # # command1; command2; command3 ; 1 output ( ) (command1; command2; command3) > output (command1; command2; command3) other_command \ bash tcsh zsh \ (command1; command2; \ command3) other_command array-read2.awk # array_read2.awk: BEGIN { num = 1; # num 17 echo 28
29 NF == 0 { num = 2; row = 0; # (! /^\#/) && NF > 0 { # row++; # column = NF; # for (j = 1; j <= column; j++) a[num, row, j] = $j; END { for (k = 1; k <= 2; k++) { print "# " k " :" for (i = 1; i <= row; i++) { # printf("# "); for (j = 1; j <= column; j++) printf("d ", a[k, i,j]); print ""; # row == column for (i = 1; i <= row; i++) for (j = 1; j <= row; j++) { c[i,j] = 0; for (k = 1; k <= row; k++) c[i,j] += a[1,i,k] * a[2,k,j]; print "# " for (i = 1; i <= row; i++) { for (j = 1; j <= column; j++) printf("d ", c[i,j]); print ""; # AWK 29
30 3.7.2 AWK C array-str.awk miyabe.csv # array_str.awk: BEGIN { FS = ","; { publisher[$4] += 1; # $4= END { for (i in publisher) print i " " publisher[i] " "; ($4) publisher 0 publisher[" "] 1 publisher[" "] publisher END for for ( in ) { ; 1./array-str.awk miyabe.csv
31 if in if ( in ) { ; array-str2.awk # array_str2.awk: BEGIN { FS = ","; { publisher[$4] += 1; # $4= END { name = " "; if (name in publisher) print name " " publisher[name] " ";./array-str2.awk miyabe.csv 10 array-str3.awk AWK # array_str3.awk: BEGIN { FS = ","; 31
32 { publisher[$4] = publisher[$4] " " $1 " "; # $1 END { for (i in publisher) print i " " publisher[i] " ";./array-str3.awk miyabe.csv ( ) 3.8 AWK AWK function ( ) { awk awk... awk return return func.awk # func.awk: BEGIN { a = "OK"; b = "OK"; c = "OK"; print foo(1,2); print a, b, c; # a,b,c print bar("awk ", " "); print a, b, c; # a,b,c print "4! == " recursive(4); # 4! == 24 32
33 function foo(a, b, c) { # c c = a + b; return c; function bar(a, b, c) { c = a b; return c; function recursive(a) { if (a <= 1) return 1; else return a * recursive(a-1); # foo a b bar a b./func.awk 3 OK OK OK AWK OK OK OK 4! == 24 a b c AWK C foo bar c AWK AWK AWK a,b c 2 C AWK C # func2.awk: BEGIN { 33
34 for (i = 0; i < 4; i++) a[i] = i; print " "; for (i = 0; i < 4; i++) print i, a[i]; foo(a); print " foo?"; for (i = 0; i < 4; i++) print i, a[i]; b["awk"] = "AWK"; b["perl"] = "PERL"; b["ruby"] = "RUBY"; print " "; print b["awk"], b["perl"], b["ruby"]; bar(b); print " bar "; print b["awk"], b["perl"], b["ruby"]; function foo(a, i) { for (i = 0; i < 4; i++) a[i] = -i; function bar(a) { a["awk"] = reverse(a["awk"]); a["perl"] = reverse(a["perl"]); a["ruby"] = reverse(a["ruby"]); # str ("abc" --> "cba") # str function reverse(str, a, i, j, t) { j = length(str); if (j <= 0) return; split(str, a, //); # for (i = 0; i < j/2; i++) { # t = a[i]; a[i] = a[j-i]; a[j-i] = t; t = ""; for (i = 0; i < j; i++) t = t a[i]; # return t; 34
35 func2.awk./func2.awk foo? AWK PERL RUBY bar KWA LREP YBUR 4 AWK AWK one liners gawk datafile gawk { if (length($0) > max) max = length($0) END { print max datafile datafile gawk {if (length($0)>m) m=length($0) END{print m datafile max m gawk length($0) > 80 datafile 80 gawk NF > 0 datafile gawk BEGIN { for (i = 1; i <= 7; i++) print int(101 * rand())
36 gawk END { print NR datafile gawk NR 2 == 0 datafile C ls -lg FILES awk { x += $5 ; END { print "total bytes: " x FILES ls -lg FILES awk { x += $5 END { print "total K-bytes: " (x )/ AWK MS-Excel 18 AWK 19 mule/emacs : AWK AWK data OS 19 36
37 kakei0.awk #kakei0.awk: { total += $1; END { print " " total " "; ( 3.2 ) kakei0.awk data : 0 data.0.date kakei0.awk data.0.date
38 11 AWK (data.1) ; ; ; 600 ; 1000 ; ; ; ; 800 ; 1050 ; kakei1.awk ; #kakei1.awk: 1 # # ; # # # ; BEGIN { FS = ";"; { total += $1; END { print " " total " "; kakei1.awk data : (data.2) 38
39 11 25 ; 2300; ; 600 ; ; 3210 ; 800 ; 1050 kakei2.awk #kakei2.awk: 2 # # ; # # # ; ; BEGIN { FS = ";"; { total += $2; END { print " " total " "; kakei2.awk data : 3 4 (data.3)
40 ; 2300; ; 600; ; 1000; ; 3210; ; 800; ; 1050; kakei3.awk 3 #kakei3.awk: 3 # # # # # ; ; ; # BEGIN { FS = ";"; NF >= 2 { total += $2; if (length($3) > 0) { class[$3] += $2; else { class["none"] += $2; # END { print " " total " "; print " " for (i in class) print "\t" i " " class[i] " "; kakei3.awk data
41 NONE ; (kakei4.awk) gsub ( 3.5 ) NONE NONE #kakei4.awk: 4 # # # # ; ; ; # BEGIN { FS = ";"; NF >= 2 { gsub(/[ \t]+/, ""); total += $2; if (length($3) > 0) { class[$3] += $2; else { class["none"] += $2; # END { print " " total " "; print " " for (i in class) if (i == "NONE") print "\t " class[i] " "; else print "\t" i " " class[i] " "; 41
42 kakei4.awk data :? 1 0 (kakei5.awk) #kakei5.awk: 5 : # # # # ; ; ; # BEGIN { FS = ";"; /^\s*[0-9]+ [0-9]+ / { dtotal = 0; for (i in dclass) dclass[i] = 0; # # NF >= 2 { gsub(/[ \t]+/, ""); total += $2; dtotal += $2; if (length($3) > 0) { class[$3] += $2; dclass[$3] += $2; else { class["none"] += $2; # 42
43 dclass["none"] += $2; # END { print " " total " "; print " " for (i in class) if (i == "NONE") print "\t " class[i] " "; else print "\t" i " " class[i] " "; print ""; print " " dtotal " "; print " " for (i in dclass) if (i == "NONE") print "\t " dclass[i] " "; else print "\t" i " " dclass[i] " "; kakei5.awk datafile
44 5.6 Mule/Emacs mule/emacs (kakei.el) ~/.emacs M-x kakei ;; ;; emacs-lisp ;; (defvar kakei-script "kakei.awk" " ") (defun kakei () (interactive) (shell-command-on-region (point-min) (point-max) kakei-script)) "kakei.awk" ( 3.2 ) ( ~/bin) 6 90 ( ) AWK AWK 4 1. UNIX ( ) 2. AWK 256 ( ) 3. AWK () 4. GNU AWK AWK AWK GNU AWK gawk web perl ruby AWK AWK perl ruby AWK perl ruby 22 ruby web ruby 44
( ) Shift JIS ( ) ASCII ASCII ( ) 8bit = 1 Byte JIS(Japan Industrial Standard) X 0201 (X ) 2 Byte JIS ISO-2022-JP, Shift JIS, EUC 1 Byte 2 By
23 3 ( ( (binary file) UNIX CUI 3.1 = + 2 bit ) ( 3.1) bit bit 1 Byte=8 bit 1 Byte ASCII, JIS X 0201 ASCII(American Standard Code for Information Interchange) 7bit (;) (:) ( ) (") ) 7bit ( ) 24 3 3.1 (
コンピュータ概論
4.1 For Check Point 1. For 2. 4.1.1 For (For) For = To Step (Next) 4.1.1 Next 4.1.1 4.1.2 1 i 10 For Next Cells(i,1) Cells(1, 1) Cells(2, 1) Cells(10, 1) 4.1.2 50 1. 2 1 10 3. 0 360 10 sin() 4.1.2 For
syspro-0405.ppt
3 4, 5 1 UNIX csh 2.1 bash X Window 2 grep l POSIX * more POSIX 3 UNIX. 4 first.sh #!bin/sh #first.sh #This file looks through all the files in the current #directory for the string yamada, and then prints
10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV
[email protected] [email protected] http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 11 20 p.1/34 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20
¥¤¥ó¥¿¡¼¥Í¥Ã¥È·×¬¤È¥Ç¡¼¥¿²òÀÏ Âè11²ó
11 2013 6 19 11 (6/19) 6 (18:10-19:40) λ13 UNIX : 2 / 26 UNIX UNIX sort, head, tail, cat, cut diff, tee, grep, uniq, wc join, find, sed, awk, screen 3 / 26 sort sort : $ sort [options] [FILE...] options
TC5.ids
% cp ~train00/.cshrc.iris ~ % cp ~train00/.alias.all ~ % exit UNIX の基本 シェルシステムとユーザの仲立ちをするプログラムであって ユーザが入力したコマンドを解釈して実行する Unix では文法によって sh 系と csh 系がある sh 系には sh, ash, zsh, bash などがある csh 系には csh, tcsh などがある
I117 II I117 PROGRAMMING PRACTICE II SCRIPT LANGUAGE 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara
I117 II I117 PROGRAMMING PRACTICE II SCRIPT LANGUAGE 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara [email protected] / SCHEDULE 1. 2011/06/07(Tue) / Basic of Programming
Windows Cygwin Mac *1 Emacs Ruby ( ) 1 Cygwin Bash Cygwin Windows Cygwin Cygwin Mac 1 Mac 1.2 *2 ls *3 *1 OS Linux *2 *3 Enter ( ) 2
September 2016 1 Windows Cygwin Mac *1 Emacs Ruby 1 1.1 ( ) 1 Cygwin Bash Cygwin Windows Cygwin Cygwin Mac 1 Mac 1.2 *2 ls *3 *1 OS Linux *2 *3 Enter ( ) 2 ~/16:00:20> ls 2 2 ls ls -a ~/16:00:20> ls -a
GNU Emacs GNU Emacs
GNU Emacs 2015 10 2 1 GNU Emacs 1 1.1....................................... 1 1.2....................................... 1 1.2.1..................................... 1 1.2.2.....................................
Java updated
Java 2003.07.14 updated 3 1 Java 5 1.1 Java................................. 5 1.2 Java..................................... 5 1.3 Java................................ 6 1.3.1 Java.......................
2002 awk Aho,Weinberger,Kernighan DFA awk Brian Kernighan DFA GNU awk Arnold Robbins DFA NFA MKS awk Mortice Kern Systems POSIX NFA mawk Mike Brennan
153 167 2002 Processing Mechanism on Regular Expressions Yoshiyuki SAKAMOTO and Hiroyuki EDO awk NFA DFA DFANFA POSIX NFA DFA NFA NFA NFATcl, Perl, Python, GNU Emacs, ed, sed, vi, grep egrep, awk DFA egrep,
joho12.ppt
n φ 1 (x),φ 2 (x),,φ n (x) (x i, f i ) Q n c 1,,c n (,f k ) q n = c i φ i (x) x Q n i=1 c 1 = 0 c 1 n ( c 1 ) = q n f k 2 Q n ( c 1 ) = q 2 2 n ( ) 2 f k q n ( ) + f k Q n c 1 = c 1 q n 2 q n( ) q n q
haskell.gby
Haskell 1 2 3 Haskell ( ) 4 Haskell Lisper 5 Haskell = Haskell 6 Haskell Haskell... 7 qsort [8,2,5,1] [1,2,5,8] "Hello, " ++ "world!" "Hello, world!" 1 + 2 div 8 2 (+) 1 2 8 div 2 3 4 map even [1,2,3,4]
(Basic Theory of Information Processing) 1
(Basic Theory of Information Processing) 1 10 (p.178) Java a[0] = 1; 1 a[4] = 7; i = 2; j = 8; a[i] = j; b[0][0] = 1; 2 b[2][3] = 10; b[i][j] = a[2] * 3; x = a[2]; a[2] = b[i][3] * x; 2 public class Array0
bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi
Windows bash on Ubuntu on Windows [Windows Creators Update(1703) ] TAKE 2017-10-06 bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu
K-BASIC 1st: ユニケージ基礎編(前編)
5 2 AWK AWK AWK 2.1 AWK AWK UNIX OS 1977 UNIX Alfred Aho Peter Weinberger Brian Kernighan 3 AWK AWK /etc/resolv.conf DNS IP 1 [hoge@lecture ~]$ cat /etc/resolv.conf awk {print $2} 2 ---------- 3 4 8.8.8.8
Taro-cshプログラミングの応用.jt
c s h プログラミングの応用 0. 目次 1. 課題 課題 1 : 与えられたパス名からディレクトリ名とファイル名を分離し出力せよ 課題 2 : オプション (-in) の後に続く文字列とオプション (-out) の後に続く文字列をそれぞれまとめる オプションの指定がなく文字列から始まるとき -in を仮定する 課題 3 : 複数のファイルから与えられたパターンとマッチする文字列を含む行を取り出せ
2 1. Ubuntu 1.1 OS OS OS ( OS ) OS ( OS ) VMware Player VMware Player jp/download/player/ URL VMware Plaeyr VMware
1 2010 [email protected] http://www.jsk.t.u-tokyo.ac.jp/~k-okada/lecture/ 2010 4 5 Linux 1 Ubuntu Ubuntu Linux 1 Ubuntu Ubuntu 3 1. 1 Ubuntu 2. OS Ubuntu OS 3. OS Ubuntu https://wiki.ubuntulinux.jp/ubuntutips/install/installdualboot
Asterisk PBX 不正利用防止
Asterisk PBX ICTR120716-OR01A Info Circus,Inc. 1 2 2 IP-PBX 3 2.1........................... 3 3 IP-PBX 4 3.1........................................... 4 3.2..................................... 4 3.3..............................
C1-202 / F-101 originally from 2014 4 15 3 1 3 C1 2 C1-202 F 1 F-101 PC imac MacPro OS Mac OS X C WWW L A TEX 2 3 4 e-mail [email protected] C-506 6767 5 2 2.1 ID ID 2.2 2.3 2.4 2.4.1 1. imac MacPro 2. 3.
(2 Linux Mozilla [ ] [ ] [ ] [ ] URL 2 qkc, nkc ~/.cshrc (emacs 2 set path=($path /usr/meiji/pub/linux/bin tcsh b
II 5 (1 2005 5 26 http://www.math.meiji.ac.jp/~mk/syori2-2005/ UNIX (Linux Linux 1 : 2005 http://www.math.meiji.ac.jp/~mk/syori2-2005/jouhousyori2-2005-00/node2. html ( (Linux 1 2 ( ( http://www.meiji.ac.jp/mind/tool/internet-license/
C言語によるアルゴリズムとデータ構造
Algorithms and Data Structures in C 4 algorithm List - /* */ #include List - int main(void) { int a, b, c; int max; /* */ Ÿ 3Ÿ 2Ÿ 3 printf(""); printf(""); printf(""); scanf("%d", &a); scanf("%d",
Microsoft Word - C.....u.K...doc
C uwêííôöðöõ Ð C ÔÖÐÖÕ ÐÊÉÌÊ C ÔÖÐÖÕÊ C ÔÖÐÖÕÊ Ç Ê Æ ~ if eíè ~ for ÒÑÒ ÌÆÊÉÉÊ ~ switch ÉeÍÈ ~ while ÒÑÒ ÊÍÍÔÖÐÖÕÊ ~ 1 C ÔÖÐÖÕ ÐÊÉÌÊ uê~ ÏÒÏÑ Ð ÓÏÖ CUI Ô ÑÊ ÏÒÏÑ ÔÖÐÖÕÎ d ÈÍÉÇÊ ÆÒ Ö ÒÐÑÒ ÊÔÎÏÖÎ d ÉÇÍÊ
2 Windows 10 *1 3 Linux 3.1 Windows Bash on Ubuntu on Windows cygwin MacOS Linux OS Ubuntu OS Linux OS 1 GUI Windows Explorer Mac Finder 1 GUI
2017 1 2017 -September I ll remember- 1,2 Linux 6 Linux Linux 2 3 Linux 2 (OS) Windows MacOS OS MacOS Linux 3 Windows Windows ( ) 1. Bash on Ubuntu on Windows ( Windows 10 ) 2. cygwin ( ) 3. VM Ware Linux
16soukatsu_p1_40.ai
2 2016 DATA. 01 3 DATA. 02 4 DATA. 03 5 DATA. 04 6 DATA. 05 7 DATA. 06 8 DATA. 07 9 DATA. 08 DATA. 09 DATA. 10 DATA. 11 DATA. 12 DATA. 13 DATA. 14 10 11 12 13 COLUMN 1416 17 18 19 DATA. 15 20 DATA. 16
-2 gnuplot( ) j ( ) gnuplot /shell/myscript 1
-2 gnuplot( ) j 2006 05 03 2006 05 12 2006 05 09 2 ( ) gnuplot /shell/myscript 1 1 shell script Level 1 myls #!/bin/sh # nowdir= pwd # if [ -f $1 -o -z $1 ] ; then echo "Enter pass" echo "ex) myls.sh./"
LAN Copyright c Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution 2.1 Japan License
LAN 2014 3 19 Copyright c 1993 2014 Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution 2.1 Japan License. 1 2 1.1................................... 2 1.2.........................
PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU
1. 1.1. 1.2. 1 PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 2. 2.1. 2 1 2 C a b N: PC BC c 3C ac b 3 4 a F7 b Y c 6 5 a ctrl+f5) 4 2.2. main 2.3. main 2.4. 3 4 5 6 7 printf printf
3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");
(Basic Theory of Information Processing) Java (eclipse ) Hello World! eclipse Java 1 3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello
2005 D Pascal CASL ( ) Pascal C 3. A A Pascal TA TA TA
2005 D 1 1.1 1.2 Pascal CASL ( ) Pascal 1. 2005 10 13 2006 1 19 12 2. C 3. A A 2 1 2 Pascal 1.3 1. 2. TA TA TA [email protected] [email protected] [email protected] [email protected]
parser.y 3. node.rb 4. CD-ROM
1. 1 51 2. parser.y 3. node.rb 4. CD-ROM 1 10 2 i 0 i 10 " i i+1 3 for(i = 0; i
Windows [ ] [ (R)..] cmd [OK] Z:\> mkdir progi [Enter] \ ) mkdir progi ) (command ) help [Enter] help ( help ) mkdir make directory Windows ) mkdir mk
Ruby I I 1 Windows 1 Meadow 1: Meadow I Meadow 2 2 Ruby 2.1 I Z progi 1 Windows [ ] [ (R)..] cmd [OK] Z:\> mkdir progi [Enter] \ ) mkdir progi ) (command ) help [Enter] help ( help ) mkdir make directory
UNIX
2000 2 UNIX 2000 4 24 1 3 1.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D
II 8 2003 11 12 1 6 ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 Daisuke 8 =>. 73 Daisuke 35 Hiroshi 64 Ichiro 87 Junko
¥¤¥ó¥¿¡¼¥Í¥Ã¥È·×¬¤È¥Ç¡¼¥¿²òÀÏ Âè2²ó
2 2015 4 20 1 (4/13) : ruby 2 / 49 2 ( ) : gnuplot 3 / 49 1 1 2014 6 IIJ / 4 / 49 1 ( ) / 5 / 49 ( ) 6 / 49 (summary statistics) : (mean) (median) (mode) : (range) (variance) (standard deviation) 7 / 49
X Window System X X &
1 1 1.1 X Window System................................... 1 1.2 X......................................... 1 1.3 X &................................ 1 1.3.1 X.......................... 1 1.3.2 &....................................
新・明解Java入門
第 1 章 画面 文字 表示 Java Java Java Java Java JRE Java JDK 21 1-1 Java Java Java Java 誕生 Fig.1-1 Oak Java Sun Microsystems 2010 Oracle Java Oracle 4 Java http://www.java.com/ http://www.alice.org/ Fig.1-1Java
: CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and Technology
I117 8 1 School of Information Science, Japan Advanced Institute of Science and Technology : CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and
2011 D Pascal CASL II ( ) Pascal C 3. A A Pascal TA TA enshu-
2011 D 1 1.1 1.2 Pascal CASL II ( ) Pascal 1. 2011 10 6 2011 2 9 15 2. C 3. A A 2 1 2 Pascal 1.3 1. 2. TA [email protected] TA [email protected] [email protected]
新版明解C言語入門編
175cm 60kg ( ) 175cm 175.3cm 175.869758 cm 175cm 60kg p.177 18-1 vx - vy vx vy List -1 List -1 int vx, vy; puts(""); printf(" vx "); scanf("%d", &vx); printf(" vy "); scanf("%d", &vy); printf("vx + vy
Unix * 3 PC 2 Linux, Mac *4 Windows Cygwin Cygwin gnuplot Cygwin unix emulator online gnuplot *5 matplotlib *6 SuperMongo *7 gnuplot gnuplot OS *8 Uni
2015 8 1 ( ) Unix 1 *1 Unix Unix Unix Perl, Python *2 Unix 2 PC gnuplot *1 100 10 10 6 10 = 10 7 1 1/3 3 10 7 10 7.5 1 24 3600 = (30 6)(30 + 6) 100 = 86400 1 10 7.5 *2 Perl, Python Python 1 Unix * 3 PC
P02.ppt
int If 2 1 ,,, 3 a + b ab a - b ab a * b ab a / b ab a % b ab a + b 4 2 list0201.c /, % /*/ int vx, vy; puts(""); printf("vx"); scanf("%d", &vx); printf("vy"); scanf("%d", &vy); printf("vx + vy = %d\n",
slice00_install.dvi
Slice Installation manual SPring-8 1 Slice 1 1.1 Windows... 1 1.1.1 Cygwin... 1 1.2 MacOSX... 10 1.2.1 Xcode... 10 2 Slice 14 2.1 Slice... 14 1 1 Slice Slice Winsows UNIX (Liunx, FreeBSD, MacOSX ) Slice
1 (1) vs. (2) (2) (a)(c) (a) (b) (c) 31 2 (a) (b) (c) LENCHAR
() 601 1 () 265 OK 36.11.16 20 604 266 601 30.4.5 (1) 91621 3037 (2) 20-12.2 20-13 (3) ex. 2540-64 - LENCHAR 1 (1) vs. (2) (2) 605 50.2.13 41.4.27 10 10 40.3.17 (a)(c) 2 1 10 (a) (b) (c) 31 2 (a) (b) (c)
明解Java入門編
1 Fig.1-1 4 Fig.1-1 1-1 1 Table 1-1 Ease of Development 1-1 Table 1-1 Java Development Kit 1 Java List 1-1 List 1-1 Chap01/Hello.java // class Hello { Java System.out.println("Java"); System.out.println("");
csj-report.pdf
527 9 CSJ CSJ CSJ 1 8 XML CSJ XML Browser (MonoForC) CSJ 1.7 CSJ CSJ CSJ 9.1 GREP GREP Unix Windows Windows (http://www.vector.co.jp/) Trn Windows Trn > > grep *.trn 528 9 CSJ A01F0132.trn:& A01M0097.trn:&
解きながら学ぶC言語
printf 2-5 37 52 537 52 printf("%d\n", 5 + 37); 5370 source program source file.c ex00.c 0 comment %d d 0 decimal -2 -p.6 3-2 5 37 5 37-22 537 537-22 printf("537%d\n", 5-37); function function call ( )argument,
C
C 1 2 1.1........................... 2 1.2........................ 2 1.3 make................................................ 3 1.4....................................... 5 1.4.1 strip................................................
新・明解C言語で学ぶアルゴリズムとデータ構造
第 1 章 基本的 1 n 141 1-1 三値 最大値 algorithm List 1-1 a, b, c max /* */ #include int main(void) { int a, b, c; int max; /* */ List 1-1 printf("\n"); printf("a"); scanf("%d", &a); printf("b"); scanf("%d",
離散数理工学 第 2回 数え上げの基礎:漸化式の立て方
2 [email protected] 2015 10 20 2015 10 18 15:29 ( ) (2) 2015 10 20 1 / 45 ( ) 1 (10/6) ( ) (10/13) 2 (10/20) 3 ( ) (10/27) (11/3) 4 ( ) (11/10) 5 (11/17) 6 (11/24) 7 (12/1) 8 (12/8) ( ) (2) 2015 10 20
Jacques Garrigue
Jacques Garrigue Garrigue 1 Garrigue 2 $ print_lines () > for i in $1; do > echo $i > done $ print_lines "a b c" a b c Garrigue 3 Emacs Lisp (defun print-lines (lines) (dolist (str lines) (insert str)
2009 D Pascal CASL II ( ) Pascal C 3. A A Pascal TA TA
2009 D 1 1.1 1.2 Pascal CASL II ( ) Pascal 1. 2009 10 15 2010 1 29 16 2. C 3. A A 2 1 2 Pascal 1.3 1. 2. TA [email protected] TA [email protected] [email protected]
スパコンに通じる並列プログラミングの基礎
2018.09.10 [email protected] ( ) 2018.09.10 1 / 59 [email protected] ( ) 2018.09.10 2 / 59 Windows, Mac Unix 0444-J [email protected] ( ) 2018.09.10 3 / 59 Part I Unix GUI CUI:
unix.dvi
1 UNIX 1999 4 27 1 UNIX? 2 1.1 Windows/Macintosh? : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 UNIX OS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.3 : : : : : : : : : : : :
スパコンに通じる並列プログラミングの基礎
2018.06.04 2018.06.04 1 / 62 2018.06.04 2 / 62 Windows, Mac Unix 0444-J 2018.06.04 3 / 62 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 2018.06.04 4 / 62 0444-J ( : ) 6 4 ( ) 6 5 * 6 19 SX-ACE * 6
untitled
II 4 Yacc Lex 2005 : 0 1 Yacc 20 Lex 1 20 traverse 1 %% 2 [0-9]+ { yylval.val = atoi((char*)yytext); return NUM; 3 "+" { return + ; 4 "*" { return * ; 5 "-" { return - ; 6 "/" { return / ; 7 [ \t] { /*
untitled
Fortran90 ( ) 17 12 29 1 Fortran90 Fortran90 FORTRAN77 Fortran90 1 Fortran90 module 1.1 Windows Windows UNIX Cygwin (http://www.cygwin.com) C\: Install Cygwin f77 emacs latex ps2eps dvips Fortran90 Intel
sed, awk 生物学で公開されるデータの形式の多くがascii text fasta, fastq, sam, bed, wig, その他独自の形式,... プログラムの入力や出力を整形する作業が生じる パールのようなもの に頼る Perl, Python, Ruby,... ( 小さな )gl
生物情報科学演習森下研 M1 鈴木裕太 sed, awk 生物学で公開されるデータの形式の多くがascii text fasta, fastq, sam, bed, wig, その他独自の形式,... プログラムの入力や出力を整形する作業が生じる パールのようなもの に頼る Perl, Python, Ruby,... ( 小さな )glue 言語としての sed, awk, bash 仮説を立てる
1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合
C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç
C (3) if else switch AND && OR (NOT)! 1 BMI BMI BMI = 10 4 [kg]) ( [cm]) 2 bmi1.c Input your height[cm]: 173.2 Enter Input your weight[kg]: 60.3 Enter Your BMI is 20.1. 10 4 = 10000.0 1 BMI BMI BMI = 10
double float
2015 3 13 1 2 2 3 2.1.......................... 3 2.2............................. 3 3 4 3.1............................... 4 3.2 double float......................... 5 3.3 main.......................
UNIX
2000 1 UNIX 2000 4 14 1 UNIX? 2 1.1 UNIX OS....................................... 2 1.2.................................................... 2 1.3 UNIX...................................... 2 1.4 Windows
スパコンに通じる並列プログラミングの基礎
2016.06.06 2016.06.06 1 / 60 2016.06.06 2 / 60 Windows, Mac Unix 0444-J 2016.06.06 3 / 60 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 0444-J 2016.06.06 4 / 60 ( : ) 6 6 ( ) 6 10 6 16 SX-ACE 6 17
10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV
[email protected] [email protected] http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20
ex01.dvi
,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) { double
K227 Java 2
1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html
