68user's page 掲示板

Prev< No. 4095〜4100> Next  [最新発言に戻る] [過去ログ一覧]
No. 4095 # ばんじょう 2005/02/17 (木) 18:20:35
Solaris8のcshについて教えて下さい。

nawkを使用しているのですが、1行での表記が長いので手頃なところで改行
して見易いように複数行にしたいのですが、その場合、これは、1行の処理
ですと認識させたいのですが、どのようにすればよいのですか。

¥、&、$とかつけてみたのですが、「Unmatched '」がでてしまいます。
お願いします。

#!/usr/bin/csh
#

set sys_no = "99"

set aaa=`nawk -v NO=$sys_no -F":" '/^[ \t]*#START/,/^[ \t]*#END/ \
            { if (substr($1,1,1) != "#" && substr($1,1,2) == NO) print $2 }' list.txt`

echo $aaa

No. 4096 # zsh 2005/02/17 (木) 19:00:58
>>4094 とも
sed -e 's/^\(id.*code=\)vip/\1nomal/' file
とか
sed -e '/^id/ { s/code=vip$/code=normal/
}' file
あたりでできます。

>>4095 ばんじょう
「\\」でいけたと思います。
・・・正直cshはやめた方が良いと思いますが・・・

No. 4097 # ばんじょう 2005/02/17 (木) 22:24:13
>4096

>「\\」でいけたと思います。
でやってみましたが無理でした。
動きはしましたが、nawk内の条件が無視され全て取り出されました。
ふと、もう1個ふやしたらどうなるのだろうと、「\\\」でやって
みたところ上手くいきました。いった模様です。
しかし、変ですね。怖い環境、怖いcshだと。

>・・・正直cshはやめた方が良いと思いますが・・・
ということは、shとかbashですか。
Solarisは、bashが多いですが・

No. 4098 # とも 2005/02/17 (木) 22:39:34
>>4096 zsh

>sed -e 's/^\(id.*code=\)vip/\1nomal/' file
では、上手く行きました。

>sed -e '/^id/ { s/code=vip$/code=normal/ }' file
では、
sed: 関数 /^id:/ { s/code=vip$/code=normal/ } はパースできません。
となりました。

No. 4099 # やまげん 2005/02/17 (木) 22:47:30
>> 4096


参考に、sedで使用している
「's/^\(id.*code=\)vip/\1nomal/' 」
「'/^id/ { s/code=vip$/code=normal/ }' 」
の使い方について教えて下さい。

No. 4100 # zsh 2005/02/18 (金) 16:09:22
>>4098 とも
}の前に改行を入れないと動作しません。
(実装しているsedの違いかもしれませんが。)

>>4099 やまげん
説明下手なので、この辺を参考にしてください。
ttp://pegasus.rutgers.edu/~elflord/unix/sed.html

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