5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

便利なシェルスクリプト見せろ

1 :名無しさん@お腹いっぱい。:2001/08/05(日) 03:25
~/bin/navi2ch

#!/bin/sh
emacs -e navi2ch

2 :名無しさん@お腹いっぱい。:2001/08/05(日) 03:29
exit 1

3 :名無しさん@お腹いっぱい。:2001/08/05(日) 03:35
その程度ならエイリアスだろ、ふつー。まあ、とりあえず
% file {,/usr{,/local}}/{,s}bin/* | grep shell
の結果でも眺めてみろや。

4 :名無しさん@お腹いっぱい。:2001/08/05(日) 03:40
echo '1逝ってよし'

5 :ウドの大木:2001/08/05(日) 04:39
#!/bin/bash

echo $SHLVL
if [ $SHLVL -lt 256 ]; then $0; fi

6 :名無しさん@お腹いっぱい。:2001/08/05(日) 05:35
ん〜、個人的に便利に使ってるやつだけど…。

あるファイルを編集したいとき、
 % editfile hoge
とすれば、hoge から始まる行に移動した状態でエディタが起動する。
hoge から始まる行がなければ普通にエディタが起動する。

 #!/bin/csh -f
 set file="filename"
 set line=`grep -n ^$argv $file | head -n 1 | perl -ne 'm/^\d+/;print "$&\n"'`
 if ( "$line" == "" ) then
  set line=1
 endif
 mule -nw +$line $file

なぜ perl なぞを噛ませたのかは忘れた。

7 :6:2001/08/05(日) 05:43
こういうのはどだ。~/bin/beep。
 #!/bin/csh -f
 xset b
 printf '\a'
 xset -b

make 終了を知らせる make ; beep とか、
ラブレター到着が待ち遠しい時は
 while (1){
  set mailsize=`ls -l /var/mail/$USER | awk '{print $5}'`
  if ( $oldmalisize != $mailsize ){
   beep
  endif
  set oldmailsize=$mailsize
  sleep 1
 end
とかよく使うかな。

8 :mu-mu:2001/08/05(日) 05:45
perlかますくらいなら全部perlで書いたほうが…
オイラが便利に使ってるのは、下のスクリプト。
asciiって名前で実行するとasciiダンプ。
そのまま書いてみたけど、掲示板cgiで
なんか変換されちゃいそうだな。

:
echo "\
00 01 02 03 04 05 06 07"'
00 000 nul soh stx etx eot enq ack bel
08 010 bs ht nl vt np cr so si
10 020 dle dc1 dc2 dc3 dc4 nak syn etb
18 030 can em sub esc fs gs rs us
20 040 sp ! " # $ % & '"'"'
28 050 ( ) * + , - . /
30 060 0 1 2 3 4 5 6 7
38 070 8 9 : ; < = > ?
40 100 @ A B C D E F G
48 110 H I J K L M N O
50 120 P Q R S T U V W
58 130 X Y Z [ \ ] ^ _
60 140 ` a b c d e f g
68 150 h i j k l m n o
70 160 p q r s t u v w
78 170 x y z { | } ~ del'

9 :6:2001/08/05(日) 05:56
>>8
> perlかますくらいなら全部perlで書いたほうが…

まぁ、あくまで個人用スクリプトだし、その時楽になればよい
という観点で作ったものだから、再利用性とか汎用性とか
エラーチェックとか、なんで csh なんだゴルア とか突っ込まないでね。例えば >>6 のやつなんて、原型は5年前に作ったんだし。
# 大学2年かぁ…。歳とったなぁ。

10 :名無しさん@お腹いっぱい。:2001/08/05(日) 06:26
bzip2非対応のtarをbzip2対応に変えるスクリプト書いて学校で使って
いる。新しいtar入れりゃ済むんだが、ファイルを消せない性格で、
quota overが迫っているもので。
そんなもんをシェルスクリプトで書くってのがドキュン丸出しだが。

11 :名無しさん@お腹いっぱい。:2001/08/05(日) 08:06
gomi hogeでごみ箱~/trashに移動してくれるの書いて。

12 :名無しさん@お腹いっぱい。:2001/08/05(日) 08:35
>>11
フルパスを覚えておいて、戻したいときには然るべき場所に
自動的に戻してくれる、というような機能を想定しているわけ?
もしそうだとしたらPerlか何か使わないと厳しいのでは?

13 :名無しさん@お腹いっぱい。:2001/08/05(日) 09:36
>>12
perl使って。

14 :名有りさん@お腹へった:2001/08/05(日) 10:00
>>11-12
-[gomi]---------------------------------
#!/bin/sh

if [ $# -ne 1 ]; then
  echo "Usage: $0 file"
  exit 1
fi

if [ ! -d $HOME/trash ]; then
  /bin/mkdir $HOME/trash
fi

id=`/bin/date +'%Y%m&d%H%M%S'`.$$

if /bin/mv $1 $HOME/trash/$id; then
  /bin/ln -s $1 $HOME/trash/${id}~
fi
--[ungomi]------------------------------
#!/bin/sh

if [ $# -ne 1 ]; then
  echo "Usage: $0 id"
  exit 1
fi

if /bin/cp -p $HOME/trash/$1 $HOME/trash/${1}~; then
  /bin/rm $HOME/trash/$1 $HOME/trash/${1}~
fi
----------------------------------------

15 :名無しさん@お腹いっぱい。:2001/08/05(日) 10:03
14マンセー

16 :14:2001/08/05(日) 10:06
訂正
--- gomi.old Sun Aug 5 10:03:08 2001
+++ gomi   Sun Aug 5 10:03:30 2001
@@ -9,7 +9,7 @@
  /bin/mkdir $HOME/trash
fi

-id=`/bin/date +'%Y%m&d%H%M%S'`.$$
+id=`/bin/date +'%Y%m%d%H%M%S'`.$$

if /bin/mv $1 $HOME/trash/$id; then
  /bin/ln -s $1 $HOME/trash/${id}~

17 :14:2001/08/05(日) 10:29
つうか細かい部分では結構ボロがでそうだな
もっと改良しないと
gomiで$1が相対パスで指定された時の対策とか
$1がディレクトリだった時のungomiの処理方法とか......

18 :名無しさん@お腹いっぱい。:2001/08/05(日) 10:32
頑張れ

19 :14:2001/08/05(日) 11:20
とりあえずこんな感じか......
いや 実のところ自分でも十分に動作確認してるわけでもないんで

--[gomi]--------------------------------
#!/bin/sh

if [ $# -ne 1 ]; then
  echo "Usage: $0 file"
  exit 1
fi

if [ ! -d $HOME/trash ]; then
  /bin/rm -fr $HOME/trash
  /bin/mkdir $HOME/trash
fi

id=`/bin/date +'%Y%m%d%H%M%S'`.$$

if echo $1 | /bin/grep '^/' >/dev/null; then
  file=$1
else
  file=`/bin/pwd`/$1
fi

/bin/mv $file $HOME/trash/$id && /bin/ln -s $file $HOME/trash/${id}~
--[ungomi]------------------------------
#!/bin/sh

if [ $# -ne 1 ]; then
  echo "Usage: $0 id"
  exit 1
fi

if [ ! -h $HOME/trash/${1}~ ]; then
  echo "$0: $1: Bad id."
  exit 1
fi

symlink=`/bin/ls -l $HOME/trash/${1}~ | /bin/sed 's/^.* -> //'`

/bin/mv $HOME/trash/$1 $symlink && /bin/rm $HOME/trash/${1}~
----------------------------------------

20 :3ch.sh:2001/08/07(火) 18:16
こっちの方が良かろう


100 名前:2ch.sh 投稿日:2001/08/07(火) 13:02

2ch流のサーバー監視スクリプトやらを組まないか?
で、オープンソースにしてばら撒く。

形式はどしよか?
Bash、Perl、AWK程度にしますか?
TK入れてXで動くようにしても良いけど(w

スレが違うなら誰か立ててくれー
2ちゃんねらーのディープさを
この業界に広めたい(嘘30%)

21 :名無しさん@お腹いっぱい。:2001/08/07(火) 19:47
>>8
man ascii

22 :名無しさん@お腹いっぱい。:2001/08/07(火) 23:17
>>20
具体的にどんなことがしたいんだ?
tail -fとかじゃダメなのか?

23 :22:2001/08/07(火) 23:18
tail -fはどっちかというとログ監視か‥
サーバー監視ってなによ

24 :やめられない@名無しさん:2001/08/07(火) 23:24
んーおいらなら

pingする帰ってきた 何もしない
pingする帰ってこない メールする
ポート80見る GETできれば なにもしない
ポート80見る 帰ってこなければ メールする

ってできればいいな。
つーか、大昔そんなスレッドがあったような気がするぞグルァ!
簡単にbashで組まれてて出てた
探してみるぞぬぬぬ

25 :名無しさん@お腹いっぱい。:2001/08/08(水) 10:28
>>20
monとかCheckserviceでいいよ。

http://www.kernel.org/software/mon/
http://www.linvision.com/checkservice/

26 : 無党派さん:2001/08/08(水) 12:46
for Netscape.

・bookmark_grep
egrep "$1" $HOME/.netscape*/bookmarks.html | perl -ne '/>[^"]*"([^"]*)".*>(.*)<\/A>/; print $2 . "\n" . "\t" . $1 . "\n"' | \nkf -j
・history_grep
history-db-list ~/.netscape/history.dat | egrep "$1" | sort | awk ' { print $1; $1 = ""; print " " $0 }'

27 :20:2001/08/08(水) 15:12
そ、そんなソフトがあるとは。。。
修行に逝ってきます

ありがとでした

28 :やめられない@名無しさん:01/09/04 02:15 ID:MJnYVYrk
保守上げ!

29 :名無しさん@お腹いっぱい。:01/09/04 04:24 ID:mfvfQ12o
zlessを
#!/bin/sh
PAGER=${TRUEPAGER-less}
export PAGER
PATH="/usr/bin:$PATH"
export PATH
exec zmore ${1+"$@"}
みたいに書き換えておいて、PAGERをzlessにする。
さらに、ncftpのpageコマンドを、asciiモード転送でなく
binaryモード転送を使うように改造。
これでls-lR.gzみたいなのが直に読める。

30 :名無しさん@お腹いっぱい。:01/09/04 13:15 ID:HXo55Ajg
#!/bin/sh
shutdown -h now

31 :名無しさん@お腹いっぱい。:01/09/04 17:55 ID:n8fBmkdQ
>>30
ちょっと違うけど、sudo を打つのが面倒いので

#!/bin/sh
sudo shutdown -hp now

てのが ${HOME}/bin にある

32 :名無しさん@お腹いっぱい。:01/09/04 20:20 ID:mfvfQ12o
なんでaliasにしないんだ?

33 :vineのshutdownだが:01/09/04 21:37 ID:ckVTCj9c
#!/bin/sh
# Try to do the right thing for programs that rely on "/usr/bin/shutdown -r now"
# to shut down the machine.
prog=/sbin/shutdown
now=
for flag in $* ; do
if test ${flag} = "-h" ; then
prog=/usr/bin/halt
elif test ${flag} = "-p" ; then
prog="/usr/bin/halt -p "
elif test ${flag} = "-r" ; then
prog=/usr/bin/reboot
elif test ${flag} = "now" ; then
now=$flag
else
args="$args $flag"
fi
done
if [ -z "$args" -a "$prog" != /sbin/shutdown ] ; then
exec $prog $args
else
exec /sbin/shutdown $args $now
fi

普段rootでしか使ってなかったがsudoして無いみたいだな

34 :名無しさん@Emacs:01/09/04 23:40 ID:G4MrZYUw
rpm -ql usermode

35 :名無しさん@お腹へった:01/09/04 23:40 ID:vCt3z.P.
イメージファイルのindex HTMLを作るスクリプト。
なぜsort -uを入れたのかは忘れた。

#!/bin/sh
#
# 1997/04/04
#
if [ "$1" = "" -o "$1" = "-h" ]; then
echo "usage : mkgifindex {gif | jpg | etc..}"
fi

WK=/tmp/tmp_mkgifindex$$
HTML=index_img.html
if [ -f $HTML ]; then
rm $HTML
fi

ls *$1 |sort -u > $WK
echo '<html>' >> $HTML
echo "<head><title>`pwd`</title></head>" >> $HTML
echo '<body bgcolor="#ffffff">' >> $HTML
while read LINE
do
echo -n '<img src="' >> $HTML
echo -n "$LINE" >> $HTML
echo -n '">' >> $HTML
echo -n "$LINE" >> $HTML
echo "<hr>" >> $HTML
done < $WK
echo '</body>' >> $HTML
echo '</html>' >> $HTML
rm $WK

36 :名無しさん@お腹いっぱい。:01/09/05 02:04 ID:diCXJs66
即席で改良してみたが。
case "$1" in
""|-h) echo "usage : mkgifindex {gif | jpg | etc..}" ;;
esac

: ${HTML=index_img.html}

(
echo '<html>'
echo "<head><title>`pwd`</title></head>"
echo '<body bgcolor="#ffffff">'
for IMGFILE in *.$1; do
test -f "$imgfile" && echo "<img src=\"$IMGFILE\">$IMGFILE<hr>"
done
echo '</body>'
echo '</html>'
) >$HTML

つーか、拡張子を引数にするなよ。
漏れだったら
for IMGFILE in "$@"; do
...
done
にしておいて*.jpg *.gifみたいに引数取れるようにするけど。

37 :名無しさん@お腹へった。:01/09/05 12:20 ID:oR7193YM
>>36
まあ、好きにしてくれ。

38 :犬板より:01/09/06 03:14 ID:Nj3IkjKI
ユーザーの追加をしたいのだけど

IDとPassをわけてCSVで出力した

hoge01,Kx08xxva
hoge02,JJxoi012
.
.
.

のような形式をうまく追加するにはどーでしょか・・・

39 :名無しさん@お腹いっぱい。:01/09/06 05:34 ID:D4C3ku2I
echo "$user,`crypt $Pass`"

40 :名無しさん@お腹いっぱい。:01/09/06 05:35 ID:D4C3ku2I
をっと、
echo "$user,`crypt $Pass`">>data
だった。

41 : 無党派さん:01/09/06 12:24 ID:Thleg3XY
>>38
OSは?
adduser/useraddのようなものがあれば、uidの生成は任せて、
passwordの変更はcrypt + vipw + ed script、が簡単と思うけど。

42 :くらげ:01/09/06 15:02 ID:8.5qPxag
awkなら

BEGIN{
FS = ","
}
{
print "useradd -d /home/"$1" -m -g 100 -s /bin/bash "$1
}


awk -f adduser.awk list.txt | /bin/sh

だな
list.txtは
user,uhdf53907
って感じで
ID1,Pass1
ID2.Pass2
でやるべし

43 :名無しさん@お腹いっぱい。:01/09/06 15:06 ID:tobfDaa.
>>38
chpasswd ってコマンドない?

44 : しびれ:01/09/06 15:29 ID:Thleg3XY
>>42
-F, って知ってた? 知ってたらスマソ

45 :名無しさん@お腹いっぱい。:01/09/06 16:59 ID:AMZ41FAg
>>38
ずばりそのためのコマンド、newusers(8)を使え。

/etc/passwdと似たフォーマットのファイルを読み込んで、
ユーザを追加することができるよ。UID、GID、$HOMEも指定可能。

46 :くらげ:01/09/06 22:38
>>44
しらないっす

なになに?おせーてぇ〜

47 :やめられない@名無しさん:01/09/06 22:40
JPGをGIFに変換するような
(ついでに縮小化も)
ソフトウェアってないですかねぇ?

シェルで実行させたいんだけど、どーもみつからないので・・・

48 :名無しさん@お腹いっぱい。:01/09/06 22:44
#! /bin/bash
sleep ${1-180}
echo -e "\a"
sleep 1
echo -e "\a"
sleep 1
echo -e "\a"
sleep 1
echo -e "\a"
sleep 1
echo -e "\a"

49 :名無しさん@お腹いっぱい。:01/09/06 22:45
>>47
ImageMagickのconvert、mogrifyコマンド。
フォーマット変換、拡大、縮小、切り抜きなど
お手のもの。

アンチエイリアス、ディザー、モザイクみたいな
画像処理もコマンド一発でできるよ。

50 :47:01/09/06 23:14
>>49
ありがとーん!
やっぱあるのですね
助かりました

51 :マターリ:01/09/11 20:53
保守あげ!

52 : 名無しさん@お腹いっぱい。:01/09/12 02:10
>>50
perlやC++からもlibmagick呼び出せてcool!

53 :はろう:01/09/12 22:59
CSVファイル内からシェルに引数で渡す時
オークで$0〜$9を使うのはしっとりやすが
00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15
15つ目の引数を引っ張りたい時はどうしたらいいでしょうか?

54 :名無しさん@お腹いっぱい。:01/09/12 23:03
あるディレクトリのShiftJISで書かれたファイル名をEUCに変換したいです。
nkfを使ってますがうまくいきません。
ファイル名に日本語使うな、というのは許して下さい。

55 :名無しさん@お腹いっぱい。:01/09/12 23:45
>>53
そのまま $15 でとりだせない?

56 :名無しさん@お腹いっぱい。:01/09/12 23:50
>>54

$ ls file.sjis | nkf -e > name.eucj
$ mv file.sjis `cat name.eucj`

なんてのはどうよ。

57 :名無しさん@Emacs:01/09/13 00:02
SJIS 固定なら -e より -Se の方がいいよ。

for SJIS in `find` ;do
EUC="`echo "$SJIS" | nkf -Se`"
[ -f "$EUC" ] || mv "$SJIS" "$EUC"
done

昔書いたやつだから自信無し。
ぱっと見、ディレクトリに弱そう。

58 :54:01/09/13 03:00
>>56,57
ありがとう。対象としているのはwinでつくったzipファイルから解凍してできたファイルで
ファイル名にスペースも含まれているようで
for SJIS in `find` ;do のところが期待通りに動いてくれません。
スペースが含まれていない場合はうまくいきました。

59 :名無しさん@お腹いっぱい。:01/09/13 08:51
find -type f|{
while read SJIS; do
...
done
}
$B$G=PMh$J$$(B?

60 :はろう:01/09/13 13:26
55へ $15で取り出せませんのでこまっとります。
$0〜$9までしか使えないのかな

61 :ほい:01/09/13 13:51
shift

62 :名無しさん@お腹いっぱい。:01/09/13 13:57
>>60
${15}
じゃだめ?

63 :ほい:01/09/13 14:03
>60
shiftつかえ。$0〜$9しかつかえない。
$10は${1}0戸解釈される。
ちょと検索したらたくさんヒットしたぞ。
http://www.netfort.gr.jp/~tomokuni/lms/shell/shell.txt

64 :はろう:01/09/13 15:12
レスありがとうございます。
awk'{print $15}'だと無理なんですが
awk'{print $5,$15}'だとうまくいくんです。
単独でとれないんですか?
${15}は知ってますがうまくいかないんす;;
63さんのHPいけなかったす;;

65 :名無しさん@お腹いっぱい。:01/09/13 15:19
>>63
> http://www.netfort.gr.jp/~tomokuni/lms/shell/shell.txt

すげぇ。これはすげぇ。

66 :ほい:01/09/13 15:41
httpがわざと全角にしてあったりする。
awkは別物。

67 :名無しさん@お腹いっぱい。:01/09/13 15:52
>>64
とれるだろ。とれないって具体的にどうなってんの?エラーが出るとか?

68 : 名無しさん@お腹いっぱい:01/09/13 17:09
$ echo -1-,-2-,-3-,-4-,-5-,-6-,-7-,-8-,-9-,-10-,-11-,-12-,-13-,-14-,-15-,-16-,-17-,-18-,-19-,20 | awk -F, '{ print $15 }'
-15-
GNU awkでもnawkでもこうなるが?

69 :ほい:01/09/13 17:35
>>68
そりゃそうなるでしょ。
-1-,-2-,-3-,-4-,-5-,-6-,-7-,-8-,-9-,-10-,-11-,-12-,-13-,-14-,-15-,-16-,-17-,-18-,-19-,20
という一行をデータとしてawkに渡して、その一行をawkが処理してるんだから。
しぇるの$1,$2とかは関係してない。

しぇるとおうくの変数が、たまたま、$1とか同じかたちをしているけど別言語。
shiftを調べんか。ゴルァ

70 :ほい:01/09/13 17:40
すまそ。俺が馬鹿だ。ぼけてた。

71 :ほい:01/09/13 17:51
シェルの話とおもてた。(冷や汗
今までの話を全部忘れてくんなまし。
で、$15とかもできるはずた。

72 : 68:01/09/13 18:00
つーか、

>>53
> CSVファイル内からシェルに引数で渡す時
> オークで$0〜$9を使うのはしっとりやすが
> 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15
> 15つ目の引数を引っ張りたい時はどうしたらいいでしょうか?

この文書の意味が分かりにくい。一行目謎。
俺もどちらの話か、どころか何の話なのか分からなくなってきた…

73 :名無しさん@お腹いっぱい。:01/09/13 18:05
>>71
>>53の書き方も分かりづらい。
それにうまくいかないってことはシェルとの関係でまずいとこがありそ。

74 :名無しさん@お腹いっぱい。:01/09/13 18:06
「しっとりやす」もわかりづらい。

しっとり安。
すとっぷ高。

75 :名無しさん@お腹いっぱい。:01/09/13 18:27
具体的にうまくいかない例を書こう。

76 :名無しさん@お腹いっぱい。:01/09/13 20:58
""でかこってそうだな。

77 :名無しさん@Emacs:01/09/13 23:36
>>58

for SJIS in "$@" ;do でパラメタで渡す分にはいけると思う。
量が多かったらやっぱ find つかって
find -type f -exec スクリプト名 {} \; とかしてくれ。
ディレクトリは `find -type d|sort -r` を渡すとか。

78 :はろう:01/09/14 09:41
わかりにくかったようですみません
再度説明させてもらうと
00,01,〜,14,15
99,98,〜,91,90
というような内容のCSVファイルから
15つめのレコードを引っ張りたいんです
awk'{print $5,","$15}'< a.csv > b.csv だと二つともうまくひっぱってくれますが
awk'{print $15}'< a.csv > b.csv だとひっぱってくれないんです。
なぜでしょうか?

79 :名無しさん@XEmacs:01/09/14 10:13
半分、教えて君なんですが、ディレクトリ内のファイル数を数え上げるのに、

$ for ff in '.'; do
>i=0
>for f in `ls *.el`; do
>i=`expr $i + 1`
>done
>echo "files count: $i"
>done
files count: 16

とかしてます。
結構面倒臭いんで、何か良いやり方知ってたら教えて下さい。
awk か perl なら BEGIN,END で簡単なんかな。

80 :名無しさん@お腹いっぱい。:01/09/14 10:14
ls |wc -l
かな。

81 :名無しさん:01/09/14 10:20
>>80
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

82 :名無しさん:01/09/14 11:00
こんにちは。
4.4Rが20日にでるんですよね。

僕がFreeBSD使い初めてから初めてのバージョンアップ
なんですが、いままで構築した設定など、そのまんま
4.4Rに以降することはできるでしょうか?
その方法を教えてくれないでしょうか?

もしくわ、新しくインストールしなおすべきでしょうか?

83 : 名無しさん@Emacs:01/09/14 11:29
>>78
-F,がなかったり、'{ print $5, ",", $15 }'あるいは'{ print $5 "," $15 }'じゃないのは何故?
How 「ひっぱってくれない」?
それから>>68を実行してみ。

84 :名無しさん@お腹いっぱい。:01/09/14 11:29
>>82
cvsup して make world して mergemaster
google で検索せよ.

4.3 -> 4.4 は特にハマる要素無かったはずだな

85 : 名無しさん@Emacs:01/09/14 11:31
>>58
find dir -print0 | xargs -null commnd

86 :はろう:01/09/14 13:05
ひっぱってくれない=レコード15にあるデータ($15)をもってきてくれないです。
awk、ーFついてなくても動きますよ

87 :82:01/09/14 13:25
スレ違いでした。

88 :名無しさん@お腹いっぱい。:01/09/14 13:37
>>86
フィールドセパレータがデフォルトで "," になっている awkって?

89 :ほい:01/09/15 01:31
88が正解の気がする。
{print $1}
してみれ。

90 :名無しさん@お腹いっぱい。:01/09/15 02:16
>>78
外してるかもだけど、

cut -f15 -d, a.csv > a.csv

ではだめなの?

91 :名無しさん@お腹いっぱい。:01/09/15 09:04
>>90
ブランクのあるデータだとだめですね(わら

92 :名無しさん@お腹いっぱい。:01/09/15 09:41
>>91
だってブランクもフィールドの一部じゃん。(苦

93 : 83:01/09/16 22:56
>>86
> awk、ーFついてなくても動きますよ

動作しても、意図したようには働かないでしょ。

$ echo 1,2, 3,4, 5,6, 7,8, 9,10, 11,12, 13,14, 15 | awk '{ print $3 * 3 }'
15 # "5,6" * 3 → "5" * 3 → 5 * 3 → 15

こんな落ちと強く予想。
# 「動きますよ」がまた意味不明だし、-Fの引数の「,」がなくなっているのは…

94 :はろう:01/09/19 09:28
HTTPのアクセスログから
不特定のIPアドレス、アクセス数をシェルか、オークで収集、統計できますか?
できるとしたらやり方を教えてください。よろしくお願いします。

95 :-:01/09/19 10:17
モロ、無修正画像サイト発見!

http://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/

96 :ほい:01/09/19 11:12
>>94
質問の意味が若干不明だが、
awkで、IPを動的配列の添え字にして 統計処理する。
END{}の中でfor( in )を用いて添え字の要素を取り出してprintする。
これで簡単にできるとおもうけど教えない。

http://www.kt.rim.or.jp/%7ekbk/gawk-30/gawk_12.html

97 :ほい:01/09/19 11:17
動的配列->連想配列
の間違い

98 :名無しさん@お腹いっぱい。:01/09/20 09:07
Windowsのstartコマンド
みたいなシェル書いてー

99 :ほれ:01/09/20 18:41
#!/bin/sh

nohup "$@" &

100 :名無しさん@お腹いっぱい。:01/09/21 12:57
んーnohupの意味があんまりわかりません
やりたいのは
start nantara.txtとやると勝手にvimが
start hogehoge.htmlとやると勝手にnetscapeが立ち上がるようにしたい
のですが自分で作ろうと思います。

101 :名無しさん@お腹いっぱい。:01/09/21 22:28
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?

102 :名無しさん@お腹いっぱい。:01/09/21 22:28
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?
dos2unixとシェルスクリプトどっちがいいかな?

103 :名無しさん@お腹いっぱい。:01/09/21 22:30
俺が何言いたいかわかるよな。

\r \nを\nにしたり
sjis を eucにしたりな。(nkf)

104 :hp:01/09/21 22:32
http://www5d.biglobe.ne.jp/~musume/
↑加護のバナーをクリックしたらスゴイことに!!

105 :名無しさん@お腹いっぱい。:01/09/22 12:19
>100
#!/bin/sh
case "$1" in
""|-h|--help) echo "usage: start filename [options]...";;
*.txt) vim "$@";;
*.html) netscape "$@";;
...
*) "$@";;
esac
とするだけだと思うが。

106 :100:01/09/22 22:24
>>105
おお、ありがとう。
なるほど。

107 :名無しさん@お腹いっぱい。:01/09/22 22:34
http://www2u.biglobe.ne.jp/~hole/

108 :名無しさん@お腹いっぱい。:01/09/26 11:15
# cat ~/bin/zpatch
#!/bin/sh
infile=
args=
infileflag=false

for arg in "$@"; do
if $infileflag; then
infileflag=false
infile="$arg"
arg="-"
else
infileflag=false
case "$arg" in
-i|--input) infileflag=true ;;
--input=*) infile="`echo \"$arg\"|sed -e s/^--input=//`" ;;
esac
fi
args="$args $arg"
done

trap 'exit 130' 2

if test -z "$infile"; then
exec patch "$@"
else
zcat "$infile" | patch $args
fi

要するにzcat hoge|patch -p0とかでC-cが利かないのが嫌なだけ

109 :samefile:01/09/27 01:46
#!/bin/sh

FILESIZE=`find -type f -printf '%s\n' | sort -n | uniq -d`
for SIZE in $FILESIZE ;do

FILELIST=`find -type f -size $SIZE\c`
for FILE1 in $FILELIST ;do
STATUS=search
for FILE2 in $FILELIST ;do
case $STATUS in
search)
if [ "$FILE1" = "$FILE2" ]; then
STATUS=start
fi ;;
start)
if cmp -s "$FILE1" "$FILE2"; then
STATUS=found
echo -e "$FILE1\t$FILE2"
fi ;;
found)
break ;;
esac
done
done

done

30 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)