|
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 |
|
>>4094 とも sed -e 's/^\(id.*code=\)vip/\1nomal/' file とか sed -e '/^id/ { s/code=vip$/code=normal/ }' file あたりでできます。 >>4095 ばんじょう 「\\」でいけたと思います。 ・・・正直cshはやめた方が良いと思いますが・・・ |
|
>4096 >「\\」でいけたと思います。 でやってみましたが無理でした。 動きはしましたが、nawk内の条件が無視され全て取り出されました。 ふと、もう1個ふやしたらどうなるのだろうと、「\\\」でやって みたところ上手くいきました。いった模様です。 しかし、変ですね。怖い環境、怖いcshだと。 >・・・正直cshはやめた方が良いと思いますが・・・ ということは、shとかbashですか。 Solarisは、bashが多いですが・ |
|
>>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/ } はパースできません。 となりました。 |
|
>> 4096 参考に、sedで使用している 「's/^\(id.*code=\)vip/\1nomal/' 」 「'/^id/ { s/code=vip$/code=normal/ }' 」 の使い方について教えて下さい。 |
|
>>4098 とも }の前に改行を入れないと動作しません。 (実装しているsedの違いかもしれませんが。) >>4099 やまげん 説明下手なので、この辺を参考にしてください。 ttp://pegasus.rutgers.edu/~elflord/unix/sed.html |