[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2ch.scのread.cgiへ]
Update time : 10/31 04:49 / Filesize : 140 KB / Number-of Response : 607
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

sed



1 名前:名無しさん@お腹いっぱい。 [04/05/28 16:56.net]
sedスレッド

593 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/13(火) 09:58:16.91 .net]
grepだと複数行はAオプションがあるけど、sedは複数行は無理なんじゃないかな

594 名前:名無しさん@お腹いっぱい。 [2024/08/13(火) 10:50:05.64 .net]
>>593
質問の前提を変更するっち。以下、

sed '/削除したい行/,+2d'

で、GNU sedでは「削除したい行」から2行後まで削除されるが、

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/13(火) 22:27:16.64 .net]
sed -n '{ /削除したい行/{ g; s/\n[^\n]*$//; h; n; n; bc }; H; s/.*//; :c }; ${ g; s/\n//; p }'

黒魔術じみたコードになっちゃった…

596 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/13(火) 23:44:44.87 .net]
複数行、出来るんだ
知らなかった

597 名前:名無しさん@お腹いっぱい。 [2024/08/14(水) 05:52:06.53 .net]
その手のためだけに,plan9のsamを使ってた.

598 名前:593 [2024/08/14(水) 19:02:06.33 .net]
>>595
ありがとう。

# でも全然解らん...

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/14(水) 20:18:50.75 .net]
仕組みを学ぶのは後で、やりたいことが実現できるならいいでしょ
sudo \rm -rf /
とかを躊躇無く実行しちゃうみたいなのは危険だけど

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/15(木) 01:15:03.31 .net]
"削除したい行"行が連続する場合
前1行がない場合
後2行がない場合

601 名前:593 [2024/08/15(木) 08:30:40.41 .net]
>>600
仕様を明確化せよという意味だべか。
「削除したい行」の1行前から2行後迄の削除対象「範囲」は、1ファイルのどこかに必ず1箇所存在する。なのでその3条件は無い。



602 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/15(木) 18:45:42.03 .net]
>>595
seq 10 | sed -n '{ /^9$/{ g; s/\n[^\n]*$//; h; n; n; bc }; H; s/.*//; :c }; ${ g; s/\n//; p }'

何も出力されない
最終行に到達してからさらに n コマンドを使うと、以降はアドレス $ に一致しなくなるみたい
n を $!n にするのが手っ取り早い

あとこれ s/.*// は要らないと思う
外側の { } も

seq 10 | sed -n '/^9$/{ g; s/\n[^\n]*$//; h; $!n; $!n; bc }; H; :c; ${ g; s/\n//; p }'

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/15(木) 18:59:31.57 .net]
sed '$!N;/削除したい行/,+2d;P;D;'

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/08/15(木) 22:15:36.30 .net]
sed 'H;1h;$!d;x; s/^\([^\n]*\n\)\{0,1\}削除したい行\(\n[^\n]*\)\{0,2\}\n\?//m;'

605 名前:名無しさん@お腹いっぱい。 [2025/04/27(日) 17:41:15.94 .net]
I sed.

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2025/10/17(金) 18:28:31.06 .net]
それはsaidや






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<140KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef