この問題が解けるかな?(ふふ
0001名無しさん@お腹いっぱい。NGNG
課題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.
%
できた人は天才!!!!
00061を読まずにヒキコNGNG
0007名無しさん@お腹いっぱい。NGNG
>>2
激しく同意。
0008うひひNGNG
>>1
今考えてますから待っててね。僕天才だし。
君は転載ってことで
0009うひひNGNG
>>1
課題1何だけど今日の曜日を永遠と出せばいいのかなぁ?
火曜日。
いつも火曜日でいいのかな?
echo 火曜日
んなわけないよね。
しゃっこうとかも出した方が言い?コッチのサイクルが難しいのよ
環境変数に無いからさぁ。
まぁ良いか。

現在の曜日ね。シェルスクリプト実行時の
正確に求めるとntpが肝だよなぁ。どっかに原子時計のntpサーバ5台くらい無い?
これ無敵にしておかないと今晩24:00にコンビニでマガジン買えないのよ
ロー村とあわせろ?
ダメダメ国際標準じゃないと課題なんだから
0010いひひNGNG
天災じゃないんですか?(イヒヒ
0011名無しさん@お腹いっぱい。NGNG
$ cat dayofweek
#!/bin/sh
date '+%a'

$sh dayofweek


(笑)
0012名無しさん@お腹いっぱい。NGNG
シェルスクリプトってさ、呼び出すコマンドを限定しないと
何でもアリになっちゃうよな。最小公倍数の問題だって、
多分互除法を実装しろってことだろうと思うけど、
mathematica呼び出せば一発だろうしなあ。
0013名無しさん@EmacsNGNG
>>12
っていうか、そういう発想が出来るかどうかの課題だったりして。
想像力ってやつですな
0018うひひNGNG
>>17
本人に聞いても提出期限の申告にがサバ臭くなるから年開けてから書こうよ。

っていうか課題2はさぁ
今日何曜日?みたいな実務で全く役に立たないような課題1をふまえて
考えるに
factorの話もどっかにあったけど
両方に正数書けて答えがマッチしたら抜けるループじゃダメか?
素因数分解からやんのかぁ?

1君どーよ?
0020うひひNGNG
>>18
とてもバカなこと書いてしまいました笑ってください。
サラシあげてもらっても結構です
車に乗るナリ非常に悲しい痛い18になったことに気がつきました
ちゃんと素因数分解使いますから許してください。factorで良いよな

明日からリアル厨房にカテキョ頼みます
0021名無しさん@お腹いっぱい。NGNG
デーモン君ソース探検
0022名無しさん@お腹いっぱい。NGNG

  Λ_Λ   ピシ!   ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ∂/ハ)ヽヽ   ノ*;´∀`) < きゃあ!もっと煽ってー!!
 |ハ`∀´) ミ ./ (つ >>1つ》 \____________
 ⊂ S  つ〆  《( ̄__)__)
  人  Y      ∧∧∧∧
  し(_)      | M専用 |
00231NGNG
どーも1です
自分文系なんですけど何を間違ったかUNIXの授業とっちゃって
先生の言ってる事がほっんとわからないんですよ。
他の生徒はみんなわかってるみたいなんですけど・・・
お願いします!!! どなたか親切なお方留年リーチの俺を救ってください!!!
0024名無しさん@お腹いっぱい。NGNG
>>23
騙らないよ、そこ。
00251NGNG
いや、まじ本物なんだけど(汗
つーかこのスレ先生に見つかったら
どーしよ(´д`;)
00271NGNG
UNIXの勉強はじめよーかな
でもUNIXやってメリットってあるん?
0028名無しさん@お腹いっぱい。NGNG
さーてネタスレ開始です
0030さあねNGNG
そんじゃ年明けにみんな一斉に回答ってことで
0036名無しさん@お腹いっぱい。NGNG
課題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
003736NGNG
ミスった。配列でいいじゃん。
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
0038名無しさん@EmacsNGNG
#!/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 ))"
0039うひひNGNG
>>36-37
すばらしい。もしオナゴだったらカテキョしてください。
僕は
#!/bin/sh
echo 火曜日
しか作れませんでした。
0040名無しさん@EmacsNGNG
ohyo?
0041名無しさん@EmacsNGNG
hoge
0043らうんじゃーNGNG
unixってなんだろうね?
0045名無しさん@お腹いっぱい。NGNG
> % sh dayofweek
> dayofweek: 2: Syntax error: word unexpected (expecting ")")

うごかねえぞゴルァ!! >>39
0048名無しさん@お腹いっぱい。NGNG
たすけてー
0050名無しさん@お腹いっぱい。NGNG
(^ ^)/。先生、問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
0051名無しさん@お腹いっぱい。NGNG
問1
#!/bin/sh
/usr/local/week

#weekは自作プログラムです。僕のホームページで公開していますので
#ぜひダウンロードして使ってください。
0054名無しさん@お腹いっぱい。NGNG
クダ質です。

ある拡張子のファイルに無条件に
000013:0x00(0)
と書きたいのです。

stdio.hとmath.hのごく一部のライブラリしか使ったことが無いのでCは
殆ど解りません。どなたか簡単に書いていただけると嬉しいです。お願いします。
0055名無しさん@MeadowNGNG
>>54
000013:0x00(0)
を末尾に書くのか,先頭に書くのか,はたまた
内容をこれだけにするのか?
あるいは13byte目をヌル文字にしたい?

拡張子hogeのファイル全てに処理したい というのは

#!/bin/sh
for f in *.hoge;do
#処理内容
done

のようにすればできる。この程度ならスクリプトのファイル
を作らずにコマンドラインに直接書いてもよろし。
0056名無しさん@お腹いっぱい。NGNG
>あるいは13byte目をヌル文字にしたい?
これです。特定の拡張子の13バイト目を無条件にnullにしたいのです。

ファイルは1個づつコマンド入力でも苦にならないのですが,いちいち
バイナリエディタ開いてやるのが面倒なのでそんなプログラムがあれば
いいなーと思った次第です。

とりあえず書けそうなところは

#include<stdio.h>
void main()
{
}
くらいです。いや。マジです。
哀れな私にちょこちょこっとご教示願えると嬉しいです。
0059名無しさん@お腹いっぱい。NGNG
navi2chで書き込めなかったので,ブラウザから
>>58 おおむね同意
予告通りソースをup
こんなものでよろしいか?
#include<stdio.h>

#define MODIFY_OFFSET_BYTE 13

int modifyFile(char *fname)
{
FILE *fp;
if(!(fp=fopen(fname,"r+"))){
return -1;
}
if(fseek(fp,MODIFY_OFFSET_BYTE,SEEK_SET)){
fclose(fp);
return -1;
}
fputc('\0',fp);
fclose(fp);
return 0;
}

int main(int argc,char **argv)
{
while(*++argv){
if(modifyFile(*argv)){
perror(*argv);
}
}
return 0;
}
006059NGNG
ギャ!インデントが全てなくなってしまったよ ウワァン
006156NGNG
神降臨!
そうですよね。ファイル吐き出すのにvoidなわけないですよね。

で,申し訳ないのですが上のやつをコンパイルしてみたんですが,
どうもアドレス0000Dが00になっているようで,00013が00になってはいないようです。
そこで上の宣言を19バイト目にしたらちゃんと動きました。
それと,ちょっと手元にある解説書を読んでみたのですが,私の言葉足らずだったら
すいませんが,バイナリで読み込んで更新するときはrb+となっていたので,
一番上の
int modifyFile(char *fname)
{
FILE *fp;
if(!(fp=fopen(fname,"r+"))){
↑ここの"r+"をrb+に書き換えました。
その結果バッチリ動くようになりました。ありがとうございます。


最初
D:\>fc /b p.mld pa.mld
ファイル p.mld と PA.MLD を比較しています
0000000D: 00 73

書き換え後
D:\>fc /b new.mld protect.mld
ファイル new.mld と PROTECT.MLD を比較しています
00000013: 00 01
006256NGNG
ファイル名かえるの忘れた。ゲフンゲフン。
006456NGNG
実行したのは紛れも無くsolaris9でつ。でも,そのファイルをいじれる環境が
Windowsでしかないのでそれで試しました。

piyo% mach
sparc
piyo% uname
SunOS
piyo% arch
sun4
piyo%

本当に助かりました。あとは自力で味付けしてみたいと思います。
bcc32で。いやいや。gccで・・・。
006659NGNG
遅レスだが,自分は
0x13=19=023 という罠に落ちたようです。
あと,Unixではテキストモード,バイナリモードの区別は
必要なかったと思われ。
006856NGNG
なるほど。8進と勘違いでしたか。
gccでコンパイルかけてみてうまくいかず,次にbcc32でやってみて
それから気がつきました。13じゃなくって19だ,と。
bcc32はBorlandがただで配ってるWin32 C++Compilerでつ。
bcc32だとbinとtextの区別してるかもしれないです。
0071t-akiyamaNGNG
携帯ゲーム機"プレイステーションポータブル(PSP)

 このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。

この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
0075山じゃき 渉NGNG
 __∧_∧_
 |(  ^^ )| <ねばだ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
このスレ1年近く書き込み内でつよ。たいむりーあげ。
0076名無しさん@お腹いっぱい。NGNG
コマンドラインでいいんだけれど、
ELIZAのように質問に答えを返すプログラムを作れないかな。

データの持ち方とロジックで、あたかも人間がチャットしているように
できないかな?
0077名無しさん@お腹いっぱい。05/01/31 00:06:14
fool
0078名無しさん@お腹いっぱい。2005/10/04(火) 00:11:03
while read line
do echo "はぁ?なんですか?"
done
0079ところてん2006/02/03(金) 22:45:12
ところてんーーーーーーーーーーーー、。
0080名無しさん@お腹いっぱい。2007/06/13(水) 12:28:30
1日でよくそんなに勉強ができたもんだね
すごいよ、えらいよ。実になってるかは別として
0081名無しさん@お腹いっぱい。2007/06/13(水) 23:18:09
スクリプトやらを作成する事で何日何時何曜日かが分かるわけか
0082名無しさん@お腹いっぱい。2007/06/19(火) 16:02:42
課題4

#!/bin/sh -
func()
{
tr ' ' '\n\n' | sort | uniq | wc -l
}

num1=$( cat "$1" | func )
num2=$( cat "$2" | func )
num3=$( cat "$1" "$2" | func )

echo "file $1 and $2 have $(( $num1 + $num2 - $num3 )) same words"
0083822007/06/19(火) 16:06:06
おっと、TABが反映されないのをうっかりしてたよ。
tr の最初の引数はスペースとTABだよ。
0085822007/06/24(日) 06:35:32
>>84
左様。
0089名無しさん@お腹いっぱい。2007/07/13(金) 11:54:06
6年目に回答が寄せられたわけだが・・
1は結局卒業できたのだろうか
してたとしてもニートの可能性大だな
0090名無しさん@お腹いっぱい。2007/11/04(日) 11:33:40
#課題1

#今日の曜日を表示するスクリプト(dayofweek)を作成せよ。dateのマニュアルを~よく見る。
#% sh dayofweek
#Monday
#%
% LC_ALL=C date +%A
Sunday
0091名無しさん@お腹いっぱい。2007/11/04(日) 11:34:12
#パラメータとして2つの整数を入力して、2数の最小公倍数を計算するスクリプト(lcm)を作成せよ。ただし、2数をx,yとしたとき、x・
#y=gcd・lcmである。
#% sh lcm 10 12
#lcm of 10 and 12 is 60
#%

if [ $1 -gt $2 ]; then
a=$1
b=$2
elif [ $1 -lt $2 ]; then
a=$2
b=$1
else
echo lcm of $1 and $2 is $1
exit
fi

m() {
expr $1 \* $2
}
0092名無しさん@お腹いっぱい。2007/11/04(日) 11:34:59
a_value=$a
a_int=1
b_int=1
while [ 1 ]
do
b_value=`m $b $b_int`
if [ $b_value -gt $a_value ]; then
a_int=`expr $a_int + 1`
a_value=`m $a $a_int`
elif [ $b_value -eq $a_value ]; then
echo lcm of $1 and $2 is $b_value
exit
fi
b_int=`expr $b_int + 1`
done
0093名無しさん@お腹いっぱい。2007/11/04(日) 11:35:41
#課題3

#パラメータとして複数のファイル名を受け取り、それぞれのファイルの行数を表示するスクリプト(listlines)を作成せよ。
#% sh listlines a b c
#file a has 5 lines.
#file b has 9 lines.
#file c has 12 lines.
#%

for x in $*
do
echo file $x has `wc -l $x` lines.
done
0094名無しさん@お腹いっぱい。2007/11/04(日) 11:38:09
#課題4

#パラメータとして2つのファイル名を受け取り、それぞれのファイルに共通する単語の数を表示するスクリプト(samewords)を作成せ
#よ。2つのファイルにそれぞれ含まれる単語の数と、2つのファイルをひとつにしたファイルに含まれる単語の数がわかれば...
#% sh samewords a b
#file a and b have 6 same words.
#%
#できた人は天才!!!!
0095名無しさん@お腹いっぱい。2007/11/04(日) 11:39:11

a=$1
b=$2
count=0

for line in `cat $a`; do
if [ -n "$line" ];then
set $line
for var in $*;do
grep -w $var > /dev/null <<-!
$seen
!
if [ $? -eq 0 ];then
continue
fi

grep -w "$var" "$b" > /dev/null
if [ $? -eq 0 ]; then
count=`expr $count + 1`
fi
seen="$seen $var"
done
fi
done
echo file $a and $b have $count same words.
0097◆c3uu/mE0SQ 2010/04/02(金) 19:35:29
ははは
0100名無しさん@お腹いっぱい。2017/12/29(金) 08:53:02.09
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

YW0DIOHGUX
0101名無しさん@お腹いっぱい。2018/05/22(火) 05:09:07.92
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

A5Z5N
レスを投稿する


ニューススポーツなんでも実況