|
管理人様、失礼いたします。 この度、私の運営する掲示板への度重なるスパム書き込みに対する対策を行っております。 つきましては、せっかくなら私のサイトだけに囚われず 一般の皆様にも使用していただけた方が良いかと思い 絶対に荒らされない掲示板サービスを立ち上げようと考えております。 スパムに悩まされない掲示板に興味が御座いますでしょうか? また、使っていただける皆様と共同して随時機能を追加して参ります。 掲示板サービスに対するご要望があれば、 下記のメールアドレスにご連絡いただければ 追って準備が整い次第、お知らせをさせていただきます。 掲示板サービス以外のメールは、一切送信いたしません。 antispambbs@gmail.com それでは、貴重なスペースをありがとう御座いました。 書き込み内容がサイト内容とそぐわない場合は、 大変お手数ですが削除いただきますようお願いいたします。 失礼いたします。 |
|
Bシェルで、whileとreadを使ったファイルからの読み込み について教えてください。 while文の中の変数をwhile文の外で使いたいのですが、 以下の様に、whileとreadを使ってファイルから読み込み doをdoneの間で処理を行い、ループを抜けた後、doneの 後ろで、結果を表示させたのですが、正しく表示されません。 どうしたら正しく表示されますか。 環境 Solaris8 Bシェル --------------------------------------------------------- #!/bin/sh # num=0 while read line ; do echo $line num=`expr $line + $num` done < a.txt echo "-----" echo $num cat a.txt 1 2 3 4 5 6 7 8 9 10 |
|
Bシェルで、sedを使って、2行を1行にしているのですが上手く行きません。 改行している次の行で、半角スペースから始まっている行を、sedを使って 1行にしたいのです。 sed -e ':loop' -e '$b' -e 'N;/\n /{s/\n *//;b loop' -e '};P;D;b loop' file.txt としたのですが、最初に引っかかったのは、1行になるのですが、 それ以降のものは、1行になりません。 環境 Solaris8 Bシェル 内容 --------- [Fri Jan 1 00:00:00] 開始 [Fri Jan 1 00:00:00] INFO:あいうえお abcdefg [Fri Jan 1 00:00:00] INFO:あいうえお 1234567890 [Fri Jan 1 00:00:00] INFO:あいうえお aaaaaaa bbbbbb cccccc [Fri Jan 1 00:00:00] INFO:あいうえお ABC 1234 [Fri Jan 1 00:00:00] INFO:12345 [Fri Jan 1 00:00:00] INFO:ABCDE [Fri Jan 1 00:00:00] INFO:あいうえお [Fri Jan 1 00:00:00] 終了 期待する結果 ---------- [Fri Jan 1 00:00:00] 開始 [Fri Jan 1 00:00:00] INFO:あいうえお abcdefg [Fri Jan 1 00:00:00] INFO:あいうえお 1234567890 [Fri Jan 1 00:00:00] INFO:あいうえお aaaaaaa bbbbbb cccccc [Fri Jan 1 00:00:00] INFO:あいうえお ABC 1234 [Fri Jan 1 00:00:00] INFO:12345 [Fri Jan 1 00:00:00] INFO:ABCDE [Fri Jan 1 00:00:00] INFO:あいうえお [Fri Jan 1 00:00:00] 終了 実際の結果 --------- [Fri Jan 1 00:00:00] 開始 [Fri Jan 1 00:00:00] INFO:あいうえお abcdefg [Fri Jan 1 00:00:00] INFO:あいうえお 1234567890 [Fri Jan 1 00:00:00] INFO:あいうえお aaaaaaa bbbbbb cccccc [Fri Jan 1 00:00:00] INFO:あいうえお ABC 1234 [Fri Jan 1 00:00:00] INFO:12345 [Fri Jan 1 00:00:00] INFO:ABCDE [Fri Jan 1 00:00:00] INFO:あいうえお [Fri Jan 1 00:00:00] 終了 となります。 期待する結果を得たいのですが、どうすればよいですか。 |