68user's page 掲示板

Prev< No. 3028〜3031> Next  [最新発言に戻る] [過去ログ一覧]
No. 3028 # 68user 2003/01/12 (日) 00:37:28
久々にこのサーバのメンテナンスしようとしたら、cron (デーモン) は
2001/11 から止まってるわ、間違って ~/bin/ は消してしまうわで もう散々。

いろいろ動かなくなっていると思いますが、なるべく早く直したいと思います。

No. 3029 # VTOK 2003/01/12 (日) 01:27:21
はじめまして、こんにちは。

いつも参考にさせていただいております。
sedコマンドを使用して文字列の置換をする処理をしたいのですが、
エラーになってしまいます。

やりたいことは、
「aa aaa aaab aac bbb」から『aaa』だけを消したいのです。
---------------------------------------------------
Sample)aaa.sh
#!/bin/sh
testA=`echo aa aaa aaab aac bbb | sed s/aaa\\\b//g`
---------------------------------------------------
としたとき、「//g」が見つかりませんとなります。
※ただし「testA」は、「aa aaab aac bbb」となっていますが、、。
ちなみにシェルではなく単純に実行するとエラーはでません。
    > echo aa aaa aaab aac bbb | sed s/aaa\b//g
    > aa aaab aac bbb
※シェル内では\bは「\\」をつけています。

どなたかお力を貸していただけないでしょうか。
また、「sed」以外の方法でもよいです。

-環境:Linux(RedHat 7.2)

宜しくお願いいたします。

No. 3030 # 68user 2003/01/12 (日) 02:59:48
>>3029 VTOK
手元の FreeBSD の sh や bash ではエラーにならなかったので
よくわかりませんが、そもそも
      % echo aa aaa aaab aac bbb | sed s/aaa\b//g
この aaa\b はシェルが解釈すると aaab になるので、
      % echo aa aaa aaab aac bbb | sed s/aaa\b//g

      % echo aa aaa aaab aac bbb | sed s/aaab//g
と等価だと思います。

ただしスクリプト中の
      testA=`echo aa aaa aaab aac bbb | sed s/aaa\\\b//g`
は正しいと思います。なんでエラーになるんだろう。

No. 3031 # ふくし [E-mail] 2003/01/12 (日) 23:01:07
あけましておめでとうございます。
いつもお世話になりっぱなしですが、今年もよろしくお願いします。
68user さん Perl 5.8 入れてみましたか ;;;

いぜん jperl5.5 でファイルテスト演算子 -T を使っていたんですが、
EUC-JP モードであれば EUC-JP の、
Shift_JIS モードであれば Shift_JIS の漢字を真にしてくれて
便利だったんですが、Perl 5.8 に変えたので
使えなくなってしまいました。
encoding で切り替えられるかと思ったんですがダメでした。
あくまで -T を使いたいとしたらどうすればいいか、
どなたかお分かりであればご教示ください。

Prev< No. 3028〜3031> Next  [最新発言に戻る] [過去ログ一覧]