sed
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 9M87D sedはストリームエディタ grepは文字列検索 awkはスクリプト言語 | sed -n -e "/<station /h;/<prog /{N;G;s/\n//gp}" ^ この行の後ろに<pfm>から始まる行をくっつけたいんですが、 すごく難しくてどうやっても出来ないです どうやればいいんでしょうか? イマイチやりたいことがわからず それに頭の | と尻の ^ はなんざんす それが行ってことざんすか >>552 nkf.exeを併用しているバッチ内のコードをコピペしただけなので、|と^は関係ないです >>551 ではxmlファイル内の「<station〜>タグで始まる行」と 「<prog〜>タグで始まる行+その次の行」を1行の文字列に連結しているので、 さらにその後ろに<pfm>タグで始まる行を連結して1行にしたい、ということです (この後に正規表現で最終的にcsv形式に置換しますが割愛) | sed -n -e "/<station /h;/<prog /{N;G;s/\n//gp}" ^ <pfm> くっついた! 10年以上前にファイル内容を逆順に表示するスクリプトコピペしたけど '1!G;h;$!d' 未だに内容理解できてないぜ! 便利なの持ってんじゃん tacでいいような気もするけど 短くても難読すごいから可能ならtacのたぐい、基存のコマンドで処理したい GNU sedじゃなくて、BSDsedをビルドしたい。 OS付属の/usr/binソースはあるけど https://github.com/freebsd/freebsd/tree/master/usr.bin/sed sed単体がない。 ビルド出来るBSDsedのURLを教えてください そこの使えばいいんじゃないの Makefileは適当に改変するとして >>561 make -f MakefileしだんたけどカレントディレクトリのMakefileはそのままでは使えなかった。 オプションが必要なのかも知れないが、よくわからず。 >>562 FreeBSD のソース用の Makefile は BSD make 用で GNU make では使えないよ。 なんの OS を使ってるのかわからいけど、 pkgsrc が対応している OS なら pkgsrc 導入して、 textproc/nbsed をインストールするのが一番楽だと思う。 http://pkgsrc.org/ >>563 MacOSです。ソース側で単体ビルドできる用意されていれば出来ると考えました。 早速挑戦して上手く行ったらここに報告します。 >>563 >FreeBSD のソース用の Makefile は BSD make 用で GNU make では使えないよ。 これ当たってた。BSDの本家に問い合わせたら560のURLにあるsedのmakefileはOS用らしい。 自分で一からconfigureやmakefileを用意すればビルド出来るのかもね。 sedの最新版を使いたかったが時間あるときに563を試します。 Makefileの中見てgcc一発でも行けんだろって気がするが って自分は前それやってみた気もするが それくらい試せよ >>566 確か、Linux のcore utilとかだとconfigure sedみたいなかんじで、コマンドの単独コンパイルできる。 manにかかれているメアドでBSDの本家に問い合わせたら 単独コンパイル出来ないとの返事だった。OSビルド用らしい もう消してしまったが、成功した人がいたら教えてほしい。方法がわかれば再試行する気はあります 正規表現一致した行と,その一致した行と4行後のみを抽出とかってどうすればいいですか? -n '/re/{p;n;n;n;n;p;}' とか? *.cと*.hを落として gcc -I . compile.c main.c misc.c process.c -o sed するとmain.cの__unreachable();がリンクエラーになるけど https://github.com/freebsd/freebsd/blob/master/sys/sys/cdefs.h#L385 を参考に((void)0);に置き換えればビルドできるじゃん >>572 有難う。諦めていたけど早速やってみます。 560です。572のとおりビルドできました。 インストール済のMac版sedは2004年頃なのでバージョンアップできて助かります。 これから100近くあるソースを調べます。 linux版との互換性ない記述を書いてしまいました。 gnu sedもMac上ではビルドできていませんが諦め。 マジかよ gnu sedなんてそれこそ./configureしてmakeだけじゃん --program-prefix=gくらいつけといた方がいいだろけどさ >>575 560です。エラー、コピペしていいですか?長いんですけど。。。 gnu sed もインストール出来ました。 bash_profileのパスを最小限にしたらエラーがなくなったみたい? >>577 質問は取り消します。有難うございました。 sed -n '10509757p' primes 2147483563 2147483579 2147483587 2147483629 2147483647-2147483648-2147483647-2147483646-2147483645-2147483644 OFやらかした最終行 ... -1800706952-1800706951-1800706950-1800706949-1800706948-1800706947-1800706946-1800706945-1800706944-1800706943 sed -ie '10509758,$d' primes sedのホールドスペースは、その内容を削除するにはどうすれば? とりあえずs/.//g;xでできたけど、もっと直接的なやりかたはないんかなー、と。 sedスクリプトファイルでよく使われる拡張子はあります? ほとんどコマンドラインに-eで書ききるものでしょうが、あえてファイルにするとしたらやっぱりsed? >>582 別にこだわる必要はないけど 各種sed処理系付属のexamplesとか覗くとみんな.sedなので、あえて正書法にこだわるならやはり.sedかと 実装を隠したコマンドとして纏めたい、常に特定のオプション(-i等)で起動したい、主コードとsedの拡張チェック等を分離したいならenvを使うとよい sedによってはオプションを重ねられたり重ねられなかったりするので #! /usr/bin/env -S sed -f (-i -n -e 'check') ところでgnu sedの付録のdc.sedってのやばいなこれ 興味深いけど誰か注釈付けてくれたりしてないのか onigsed がダウンロードできなくて困ってます。 それらが引退した人も逮捕されてるの見つかって捕まって誰かに相手されないもんね ヒスンは凄く特殊な銃を使って 4232 じり下げはやめて良い部屋は空いてるんだったら 胃がびっくりしておかしくなる 家庭崩壊する それが政治とどう関係あるのが信じられなくなったから焦った read.cgi ver 07.4.7 2024/03/31 Walang Kapalit ★ | Donguri System Team 5ちゃんねる