68user's page 掲示板

Prev< No. 4473〜4478> Next  [最新発言に戻る] [過去ログ一覧]
No. 4473 # if 2006/01/12 (木) 11:14:17
>>4462

RFC2822 の folding を戻すのと大体同じですね。

sed -e ':loop' -e '$b' -e 'N;/\n /{s/\n *//;b loop' -e '};P;D;b loop'

でどうでしょうか?
見やすくすると
#!/usr/bin/sed -f
:loop
$b
N
/\n / {
                s/\n *//
                b loop
}
P
D
b loop

No. 4474 # 2006/01/12 (木) 23:49:57
>>4470 zsh
>>4473 if

ありがとうございます。
今、時間がありませんが、試してみます。

シェルスクリプトよりもPerlですか。

No. 4475 # 2006/01/12 (木) 23:54:24
>>4470 zsh

>これだけで動きますか?
>whileの前に
>exec 0<file.txt
>とか要りませんでしたっけ?

要りませんでした。
while read line; do
done < file.txt
または、
while read line
do
done < file.txt
で動きました。

No. 4476 # zsh 2006/01/13 (金) 15:03:09
>>4475
Solaris9のsh

No. 4477 # zsh 2006/01/13 (金) 15:07:31
>>4475
Solaris9のshで確認しましたが、
やはりwhileの前に
exec 0<file.txt
を入れないと、最終行が表示されません。
恐らく、元のファイルの最終行が空行なので問題ないのだと思います。

>>68user様
記述途中で送信してしまい、大変失礼しました。

No. 4478 # DNS勉強中 2006/01/14 (土) 14:05:00
>>4455 68user
ご指摘ありがとうございます。
スレッドセーフやマジックナンバなどは考えておりませんでした。
それと goto の部分は使いたくなかったのですが、うまくプログラムの流れを制御できなかったためやむなく使用しました。
確かに分かりにくいと思います。
今後修正してみようと思います。
かなり忘れている部分が多いので、思い出すところからはじめないといけないのですが。

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