この問題が解けるかな?(ふふ

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.
%
できた人は天才!!!!

>あるいは13byte目をヌル文字にしたい?
これです。特定の拡張子の13バイト目を無条件にnullにしたいのです。

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

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

#include<stdio.h>
void main()
{
}
くらいです。いや。マジです。
哀れな私にちょこちょこっとご教示願えると嬉しいです。

>>56
もうちょっとガンバレ
fopen,fclose,fputc,fseek
が使えればできる。答えは30分後に。

void main() → int main()

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
ファイル名かえるの忘れた。ゲフンゲフン。

MS-DOSかよ! と思っている人が000013人程度いるに違いない。

006456NGNG
実行したのは紛れも無くsolaris9でつ。でも,そのファイルをいじれる環境が
Windowsでしかないのでそれで試しました。

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

本当に助かりました。あとは自力で味付けしてみたいと思います。
bcc32で。いやいや。gccで・・・。

% dd if=/dev/zero of=filename bs=1 count=1 seek=19 conv=notrunc

006659NGNG
遅レスだが,自分は
0x13=19=023 という罠に落ちたようです。
あと,Unixではテキストモード,バイナリモードの区別は
必要なかったと思われ。

0067山崎渉NGNG
(^^)

006856NGNG
なるほど。8進と勘違いでしたか。
gccでコンパイルかけてみてうまくいかず,次にbcc32でやってみて
それから気がつきました。13じゃなくって19だ,と。
bcc32はBorlandがただで配ってるWin32 C++Compilerでつ。
bcc32だとbinとtextの区別してるかもしれないです。

0069山崎渉NGNG
(^^)

0070あぼーんNGNG
あぼーん

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のように。

0072あぼーんNGNG
あぼーん

0073あぼーんNGNG
あぼーん

0074あぼーんNGNG
あぼーん

0075山じゃき 渉NGNG
 __∧_∧_
 |(  ^^ )| <ねばだ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
このスレ1年近く書き込み内でつよ。たいむりーあげ。

コマンドラインでいいんだけれど、
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だよ。

0084名無しさん@お腹いっぱい。2007/06/22(金) 23:27:19
>>82

wc -w ですな

0085822007/06/24(日) 06:35:32
>>84
左様。

0086名無しさん@お腹いっぱい。2007/07/01(日) 10:42:45
#!/bin/sh

で $(...) だの $((...)) だの使うのはどうかと。

0087名無しさん@お腹いっぱい。2007/07/01(日) 20:20:36
>>86
気に入らなければ、適宜 ` ` とか expr に読み代えれば良い。

俺はそんなのは気持ち悪いが・・・

0088名無しさん@お腹いっぱい。2007/07/04(水) 13:32:57
>>50
問3は同じ中身をもっと簡単に書けるぞ。

wc -l "$@" | awk '$2 !~ /^total$/{print "file " $2" has " $1" lines."}'

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.

0096名無しさん@お腹いっぱい。2010/03/24(水) 18:39:44
10年後の俺へ
元気でやってるか?SEになれてる?彼女できた?

頑張れよ俺

0097◆c3uu/mE0SQ 2010/04/02(金) 19:35:29
ははは

0098名無しさん@お腹いっぱい。2012/05/05(土) 11:13:03.94
重複

シェルスクリプト総合 その19
http://toro.2ch.net/test/read.cgi/unix/1323515200/

0099名無しさん@お腹いっぱい。2013/09/27(金) 21:55:48.15
この問題が解けるかな?(ふふ

0100名無しさん@お腹いっぱい。2017/12/29(金) 08:53:02.09
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

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

YW0DIOHGUX

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

A5Z5N

0102名無しさん@お腹いっぱい。2024/03/27(水) 19:45:35.20
これを教訓にして思考停止したタクシーが多い
今は違うだろ
煽って売りあがっているところだね

0103名無しさん@お腹いっぱい。2024/03/27(水) 19:50:10.57
最近のカラオケブームなんやねん
30分くらいコメント0で無言でひっそり枠閉じることあるんだよな
入会するのは

0104名無しさん@お腹いっぱい。2024/03/27(水) 20:25:08.57
コロナ後副作用
あと
若返りな
サウカツ!みたいにしないよね

0105名無しさん@お腹いっぱい。2024/03/27(水) 21:06:47.55
出ないな

0106名無しさん@お腹いっぱい。2024/03/27(水) 21:18:26.17
ダイエットは
解説してるから○○がいないからーは言い訳にしかなって反対増えたソースある?

新着レスの表示
レスを投稿する