Re: 改行コードを含む文字列の置換
umusus@anet.ne.jp sed in <20040205131620.7bb36677.umusus@anet.ne.jp>:
>> ------- test.txt ------
>> test *
>> * test2
>> -----------------------
>> というファイルがあったとして、'\*\n \*'の部分を削除して1行にしたいのです。
まず制約条件はどんな感じでしょうか?
/bin/sh だけですべて賄わなければならないのか、
古sed,古awkくらいなら使ってもよいのか、
perl/python/rubyのような重量級外部ツールを使ってもよいのか。
/bin/shだけだと条件分岐なしてのは無理だと思いますよええ。
while, read, if, case を駆使するしかないような。
重量級の代表 perlなら
perl -e 'undef $/; $_=<>; s/\*\n\s*\*//g; print;'
(ただしメモリ大食い、メガバイト級ファイルには不向き)
ただperl使うなら最初からそーしますよね普通…
sed,awkでも組めないことはないでしょうが
頭の体操以外の用途には向いてないような(∴仕事に使うべきでない)
--
kabe
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735