作者: davi
日時: 2010/3/19(17:06)
Yささん  <  こん??は でび です

お忙しい所、ありがとうございます。

On Fri, 19 Mar 2010 13:41:01 +0900 (JST)
saw@...-nokuchi2pho.ne.jp (Yさ) wrote:

> →http://www.kt.rim.or.jp/~kbk/gawk/gawk_4.html
> >> 一つの文を二つの行に改行で分けたいときに、
> >> 行末にバックスラッシュ`\'を置くことによって
> >> 行を継続することができる。

…はずなのですが、TSabc:779の上の方のコードに
書きましたように、対象ファイルの文字コードに
よって動いたり動かなかったり(のように見える)
ので困惑中です。

お教えのページの当該部分のすぐ下にあった

>バックスラッシュを改行の前に二つ続けて書

も、今やってみましたが、どうも上手く行かない
ようでした。

数日クールダウンしてから考え直した方が良い
のかもしれません。

> ちなみに元々daviさんがやりたかった事は

BEGIN部でセパレータをいじるのは、投稿前に
少し試してみたのですが、できれば、もう少し
ヒント下さい。

「絶対にあり得ない文字」(\x7fとか?)を
セパレータに指定する、という手を今思いついて
試してみましたが、これも上手く行かないようです。

foo.txtが改行ありの普通の文章だとして、

BEGIN{
 FS="\x7f"
 RS="\x7f"
 OFS="\x7f"
 ORS="\x7f"

 FILENAME == "foo.txt"
 var = FILENAME
}

{
printf(var);
}

gawk -W ctype=EUC -f fstest.awk > out.txt

こういうことをしたいんですが、例えばFSやRSを
EOF、つまりファイル末端に設定するような指定
とかは可能なものでしょうか。

FS = RS ="" や、FS = RS =^$ の指定では、
空行でしょうし。ふ〜む。

でび  http://davi.txt-nifty.com/1984/