トップページunix
1001コメント301KB

シェルスクリプト総合 その7

レス数が1000を超えています。これ以上書き込みはできません。
0001ミスターシェル2006/09/07(木) 13:00:11
シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。


□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashなので特に注意。
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルスクリプトのことをシェルってゆーな
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)

□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 RubyやPerlの方が適した仕事には素直にそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
0959名無しさん@お腹いっぱい。2007/02/14(水) 01:44:50
>>943
>4行目の機能ってgawkにあるんですか?

ない。

gawkは内部的にwchar_tを使っているだけで、スクリプトの記述は
そのときの locale設定が使われ、表にはUnicode(やwchar_t)はでてこない。

一応 [あ-お]はできるけどね。

0960名無しさん@お腹いっぱい。2007/02/14(水) 01:48:59
>>958
mv abc.txt `date +%%Y%m%d`d.txt
0961名無しさん@お腹いっぱい。2007/02/14(水) 01:50:00
%一つ余計だ。察して。
09629582007/02/14(水) 01:52:02
>>960
ありがとうございます。うまくいきました
0963名無しさん@お腹いっぱい。2007/02/14(水) 03:16:18
jawk
09649472007/02/14(水) 03:20:49
>>949

ありがとう
0965名無しさん@お腹いっぱい。2007/02/14(水) 08:07:50
ttp://www.postfix-jp.info/trans-2.2/jhtml/FILTER_README.html
の上のほうにあるスクリプトのtrapって何を拾っているんでしょうか?
0 は分かるんですが、1, 2, 3, 15が分かりません。
0966名無しさん@お腹いっぱい。2007/02/14(水) 09:19:02
>>965
man 7 signal参照。
1:SIGHUP 2:SIGINT 3:SIGQUIT 15:SIGTERM
0967名無しさん@お腹いっぱい。2007/02/14(水) 10:12:04
>>966
$ man 7 signal
No entry for signal in section 7 of the manual

ここはLinux板じゃない。
0968名無しさん@お腹いっぱい。2007/02/14(水) 13:32:31
cron?
0969名無しさん@お腹いっぱい。2007/02/14(水) 13:33:04
みす
0970名無しさん@お腹いっぱい。2007/02/14(水) 13:54:30
>>966-967
man -a signalと言っておけばよかったね。

BSD(つーかMacだが)だとセクション3のライブラリ関数のとこに
一緒に載ってるようだな。
0971名無しさん@お腹いっぱい。2007/02/14(水) 15:13:05
bash起動してtrap -lはどうか。
0972名無しさん@お腹いっぱい。2007/02/14(水) 22:52:51
ls で ディレクトリのみ表示させるのは可能でしょうか?
0973名無しさん@お腹いっぱい。2007/02/14(水) 23:01:02
>>972

ls -FA | grep /

ちょっと意味が違うか?
0974名無しさん@お腹いっぱい。2007/02/14(水) 23:13:07
>>972
俺は
ls -l | grep 4096
でなんとかなっている
0975名無しさん@お腹いっぱい。2007/02/14(水) 23:15:18
>>974
ls -l | grep ^d
どちらかといえばこれか。
0976名無しさん@お腹いっぱい。2007/02/14(水) 23:16:20
findを使うのは反則ですか?そうですか。
0977名無しさん@お腹いっぱい。2007/02/14(水) 23:26:49
ls の質問に便乗です。

大文字も小文字も区別なく表示させたいのですが、可能ですか?

ls *.dat
に何か工夫して、aaa.dat とbbb.DAT などを表示させたいです。

0978名無しさん@お腹いっぱい。2007/02/14(水) 23:36:16
>>974

4096って!
Bite じゃなくて bit 単位ですか?
家だと、 grep 512 で、例外を除き期待どおりの結果になるが・・
0979名無しさん@お腹いっぱい。2007/02/14(水) 23:44:26
>>977

ls | grep -i
0980名無しさん@お腹いっぱい。2007/02/14(水) 23:46:19
ls | grep -i "\.dat$"
0981名無しさん@お腹いっぱい。2007/02/14(水) 23:47:39
findを使うのは反則ですか?そうですか。
0982名無しさん@お腹いっぱい。2007/02/14(水) 23:50:41
>>980

それだと、質問子の例示した拡張子にしか一致しないよ。

>>大文字も小文字も区別なく表示させたいのですが、可能ですか?

というテーゼには合致しない。
09839772007/02/14(水) 23:51:14
>>979 980
ありがとうございます
そっか、grep を使うという技があったか!
09849722007/02/14(水) 23:56:08
できれば、
-l オプションを使わずにおながいします、
余計な出力が多いので・・・。orz
0985名無しさん@お腹いっぱい。2007/02/14(水) 23:59:23
>>984

find . -depth 1 -type d

ってどのぐらいの範囲でつかえるんだろう?
0986名無しさん@お腹いっぱい。2007/02/15(木) 00:00:52
>>984

ならば

>>973 で、問題無かろう?
0987名無しさん@お腹いっぱい。2007/02/15(木) 00:02:30
>>986
なるほど
0988名無しさん@お腹いっぱい。2007/02/15(木) 00:03:54
tcshのjmanどこかにある?
0989名無しさん@お腹いっぱい。2007/02/15(木) 00:08:32
>>988
http://www.jp.freebsd.org/man-jp/search.html
ここでアレとか
0990名無しさん@お腹いっぱい。2007/02/15(木) 00:10:06
あるいは
http://www.linux.or.jp/JM/html/tcsh/man1/tcsh.1.html
09919722007/02/15(木) 00:35:14
サンクスです、みなさん、
>>973でいっきま〜〜す!!
0992名無しさん@お腹いっぱい。2007/02/15(木) 00:39:29
>>989
早速のおひかえ、ありあとうござんす
0993名無しさん@お腹いっぱい。2007/02/15(木) 00:44:56
>>990
ここは
シェルが参照するエイリアスがいくつ
って文章で終わってるね。ちょんぎれているのではないであろうかと愚考するものでありますが…
0994名無しさん@お腹いっぱい。2007/02/15(木) 00:55:10
おそらく
エイリアス置換
の章だな
しょぼいブラウザをつかっているのかな?
そこはページ全体の1/5ぐらいの場所
0995名無しさん@お腹いっぱい。2007/02/15(木) 01:05:26
ieやoperaみたいなしょぼいブラウザしかないんだけどな
0996名無しさん@お腹いっぱい。2007/02/15(木) 01:19:13
http://www.jp.freebsd.org/man-jp/get.html
0997名無しさん@お腹いっぱい。2007/02/15(木) 13:59:58
>990をxpのie6026…で見るとちょんぎれていて、しかも今日は切れるところがちがう…
りぬサイトのせいなのかブラウザのせいなのかわからんけど。

りぬ使いは無問題か?
0998名無しさん@お腹いっぱい。2007/02/15(木) 14:24:53
998
0999名無しさん@お腹いっぱい。2007/02/15(木) 14:30:29
>>997
firefoxでも windows でも FreeBSDでも無問題

つぎ
シェルスクリプト総合 その8
http://pc10.2ch.net/test/read.cgi/unix/1171517324/
1000名無しさん@お腹いっぱい。2007/02/15(木) 14:33:05
   |
   |
   |∧∧
   (-_-) 1000
   (∩∩)―――
  /
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。