この問題が解けるかな?(ふふ
課題1 今日の曜日を表示するスクリプト(dayofweek)を作成せよ。dateのマニュアルをよく見る。 % sh dayofweek Monday % パラメータとして2つの整数を入力して、2数の最小公倍数を計算するスクリプト(lcm)を作成せよ。ただし、2数をx,yとしたとき、x・ y=gcd・lcmである。 % sh lcm 10 12 lcm of 10 and 12 is 60 % 課題3 パラメータとして複数のファイル名を受け取り、それぞれのファイルの行数を表示するスクリプト(listlines)を作成せよ。 % sh listlines a b c file a has 5 lines. file b has 9 lines. file c has 12 lines. % 課題4 パラメータとして2つのファイル名を受け取り、それぞれのファイルに共通する単語の数を表示するスクリプト(samewords)を作成せ よ。2つのファイルにそれぞれ含まれる単語の数と、2つのファイルをひとつにしたファイルに含まれる単語の数がわかれば... % sh samewords a b file a and b have 6 same words. % できた人は天才!!!! ほんと定期的に立つな・・・ 誰かネタ職人が頑張ってるのか >>1 今考えてますから待っててね。僕天才だし。 君は転載ってことで >>1 課題1何だけど今日の曜日を永遠と出せばいいのかなぁ? 火曜日。 いつも火曜日でいいのかな? echo 火曜日 んなわけないよね。 しゃっこうとかも出した方が言い?コッチのサイクルが難しいのよ 環境変数に無いからさぁ。 まぁ良いか。 現在の曜日ね。シェルスクリプト実行時の 正確に求めるとntpが肝だよなぁ。どっかに原子時計のntpサーバ5台くらい無い? これ無敵にしておかないと今晩24:00にコンビニでマガジン買えないのよ ロー村とあわせろ? ダメダメ国際標準じゃないと課題なんだから $ cat dayofweek #!/bin/sh date '+%a' $sh dayofweek 火 (笑) シェルスクリプトってさ、呼び出すコマンドを限定しないと 何でもアリになっちゃうよな。最小公倍数の問題だって、 多分互除法を実装しろってことだろうと思うけど、 mathematica呼び出せば一発だろうしなあ。 >>12 っていうか、そういう発想が出来るかどうかの課題だったりして。 想像力ってやつですな #!/bin/sh cat << EOF >foo.c 色々 EOF cc -o foo foo.c ./foo とか書けば、何でもできるしね。 課題3 $ alias listlines='wc --lines' $ listlines hoge hage 11 hoge 22 hage 33 合計 (笑) >>1 よ。その宿題の提出期限はいつですか? >>18-1001 宿題の提出期限が過ぎてから答えを書いてあげなさい。 >>17 本人に聞いても提出期限の申告にがサバ臭くなるから年開けてから書こうよ。 っていうか課題2はさぁ 今日何曜日?みたいな実務で全く役に立たないような課題1をふまえて 考えるに factorの話もどっかにあったけど 両方に正数書けて答えがマッチしたら抜けるループじゃダメか? 素因数分解からやんのかぁ? 1君どーよ? >>18 とてもバカなこと書いてしまいました笑ってください。 サラシあげてもらっても結構です 車に乗るナリ非常に悲しい痛い18になったことに気がつきました ちゃんと素因数分解使いますから許してください。factorで良いよな 明日からリアル厨房にカテキョ頼みます Λ_Λ ピシ! ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∂/ハ)ヽヽ ノ*;´∀`) < きゃあ!もっと煽ってー!! |ハ`∀´) ミ ./ (つ >>1 つ》 \____________ ⊂ S つ〆 《( ̄__)__) 人 Y ∧∧∧∧ し(_) | M専用 | どーも1です 自分文系なんですけど何を間違ったかUNIXの授業とっちゃって 先生の言ってる事がほっんとわからないんですよ。 他の生徒はみんなわかってるみたいなんですけど・・・ お願いします!!! どなたか親切なお方留年リーチの俺を救ってください!!! いや、まじ本物なんだけど(汗 つーかこのスレ先生に見つかったら どーしよ(´д`;) 留年して UNIX と親密な関係になるってのはどうか UNIXの勉強はじめよーかな でもUNIXやってメリットってあるん? >>1 留年リーチなのは遊びすぎで単位足らんのと違うか?(W 文系でも勉強すればこのくらいわかる. というか, 理解しないで単位とろうという考え方がダメ. 課題4 samewords --- #!/bin/sh ruby -e 'def f(n) f=Hash.new(0);for w in open(n).read.split(/\W+/);f[w]+=1 end;f.keys end;\ p((f($*[0])&f($*[1])).size)' $1 $2 ミスった。配列でいいじゃん。 samewords --- #!/bin/sh ruby -e 'def f(n) a=[];for w in open(n).read.split(/\W+/);a<<w end;a end;p((f($*[0])&f($*[1])).size)' $1 $2 #!/bin/bash x=$1 y=$2 (( $x < $y )) && { x=$2 && y=$1 ;} while (( $y != 0 )) do m=$(( $x - $(( $x / $y )) * $y )) (( $m < $y )) && { x=$y && y=$m ;} || { x=$m ;} done echo "lcm of $1 and $2 is $(( $1 * $2 / $x ))" >>36-37 すばらしい。もしオナゴだったらカテキョしてください。 僕は #!/bin/sh echo 火曜日 しか作れませんでした。 > % sh dayofweek > dayofweek: 2: Syntax error: word unexpected (expecting ")") うごかねえぞゴルァ!! >>39 echo -e "\e[5m 金曜日 \e[0m" (^ ^)/。先生、問1と問3のみできますた。採点してください。 問1 #!/bin/sh DATE=`date | awk '{print $1}'` case "$DATE" in Sun) echo 'Sunday' ;; Mon) echo 'Monday' ;; Tue) echo 'Tuesday' ;; Wed) echo 'Wednesday' ;; Thu) echo 'Thursday' ;; Fri) echo 'Friday' ;; Sat) echo 'Saturday' ;; esac 問3 #!/bin/sh for i in "$@" do NUM=`wc -l "$i" | awk '{print $1}'` echo "file $i is $NUM lines." done 問1 #!/bin/sh /usr/local/week #weekは自作プログラムです。僕のホームページで公開していますので #ぜひダウンロードして使ってください。 クダ質です。 ある拡張子のファイルに無条件に 000013:0x00(0) と書きたいのです。 stdio.hとmath.hのごく一部のライブラリしか使ったことが無いのでCは 殆ど解りません。どなたか簡単に書いていただけると嬉しいです。お願いします。 >>54 000013:0x00(0) を末尾に書くのか,先頭に書くのか,はたまた 内容をこれだけにするのか? あるいは13byte目をヌル文字にしたい? 拡張子hogeのファイル全てに処理したい というのは #!/bin/sh for f in *.hoge;do #処理内容 done のようにすればできる。この程度ならスクリプトのファイル を作らずにコマンドラインに直接書いてもよろし。 read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる