1read 100read
2012年6月UNIX109: sed (435)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【さぁ】NetApp【あっぷっぷ】 (597)
日本人*BSD developerを誉め称えるスレ (303)
▲DHCPスレ (278)
Unix技術者のネットワークの知識 (243)
C shell 撲滅委員会 (382)
pingを「ぺやんぐ」と呼ぶスレ (209)
sed
1 :04/05/28 〜 最終レス :12/04/13 sedスレッド
2 : 2
3 : sed -e '1,2d' -e '4,$d'
4 : sed -E -e '=' test | sed -E 'N;s/\n/: /' | sed -E 's/^([0-9]: )/0\1/' これをパイプを使わずに表現したいんですけど、どうすれば出来ますか?
5 : sedのスクリプトで? sed -f hoge test なかんじ?
6 : >>5 はい。 #!/usr/bin/sed -f { = N s/\n/: / s/^([0-9]: )/0\1/ } としてもうまく行かなくて悩んでいます。
7 : 適材適所という言葉があるだろうに… % awk '{printf "%02d: %s\n", NR, $0}' test
8 : 例えば aaa\ bbb\ ccc ddd\ eee の\が出てくると次の行と連結するスクリプトは #!/usr/bin/sed -f :cont /\\$/{ N s/\\\n// b cont } の様にすれば aaabbbccc dddeee のようにうまく出力されるのに、 #!/usr/bin/sed -f { = N s/\n/: / s/^([0-9]: )/0\1/ } みたいに、先頭に2桁の行番号と:を追加するのはなぜうまく出来ないのか 疑問に思ったのです。
9 : ム板のawkスレの住人だな?
10 : http://pc5.2ch.net/test/read.cgi/linux/1067815570/
11 : 【貝】第1回シェル講座【殻】 http://pc5.2ch.net/test/read.cgi/unix/1016372780/ ☆シェルスクリプトを勉強するにあたって☆ http://pc5.2ch.net/test/read.cgi/unix/989659936/ ここらへんに合流すれば? そういう話題結構でてるよ これだけではなんなので。日本語で読める sed に関する文献としては 「MS-DOS を 256倍使うための本 Vol.3」が No.1 です。おすすめ
12 : 古いけどそこそこ良くまとまったサイトを紹介してみよ。 ttp://www.gcd.org/sengoku/sedlec/
13 : メールの中身で 添付ファイルのデータが開始するbase64という文字列があった後のデータ全部切り抜いて出力したいんですが sedで可能でしょうか?
14 : >>13 http://www.gcd.org/sengoku/sedlec/12.txt
15 : From: hoge hage <hoge@moe.com> ↑ これの < > の中に入ってるメールアドレスを、抜き出したいんですが、どうすればいいでしょうか?
16 : sed 's/.*From.*<\(.*\)>.*/\1/' じゃダメ?
17 : >16 ありがとうございます 後は加工して使おうと思います。
18 : ど素人です。 sedでMIFESのグローバル置換みたいなことってできないですか? あるディレクトリに存在する複数のファイルをワイルドカード指定で入力して 一括して置換してもとのファイルにリダイレクトしてやるみたいな。 下記のイメージで(下記はとおらないですけど・・)。 sed -e 's/aaa/zzz/g' < * > * 1日中ぐぐってぐぐってもがいたけどわかりませんでした。すごいひと教えてください。
19 : すごくなくてもできる。とりあえず、シェルスクリプトすれに池。 もっと短くできるが、何をやっているかわかりやすく説明するのをかねて↓ find -type f | while read file ; do mv ${file} ${file}.backup cat ${file}.backup | sed -e "s/aaa/zzz/g" > ${file} done
20 : 次世代sed登場 ttp://news.tbs.co.jp/newseye/tbs_newseye1037945.html
21 : >>19 おわっ。あっさりできたっ。どうもありがとです! シェルスクリプトすごい便利。勉強しなきゃですね・・。
22 : bash上でなのですが、 hoge=`echo ../tmp/work.c | sed 's/\//\\\//g'` を実行しようとすると、 sed: -e expression #1, char 9: Unknown option to 's' となってしまうのは、なぜですか? /を\/に置換したいだけなのです。
23 : >>22 sed 関係ないやん \ → \\
24 : うーん、確かにシェル向けのネタなのかもですが、 echo ../tmp/work.c | sed 's/\//\\\//g' だけだと動くのがよくわからなくって。
25 : いいことを教えてあげよう。 's@hoge@hage@g'とやってごらん。
26 : command not found でした・・・って、そういう意味ではないのかな・・・。
27 : s/..../..../g は s@....@....@g とも書ける という意味
28 : Filesystem Size Used Avail Use% Mounted on /dev/hda5 9.6G 844M 8.3G 10% / というのを ~$ df /home/ | sed -n -e "2s/.*\(\d*\)%.*/<\1>/p" として10を取り出したいのですがうまくいきません 結果は <> となります どうすればいいのでしょうか?
29 : space, tab を区切りにして何番目の要素って選択したほうがいいんじゃないの。
30 : 先頭の.* が % の直前までマッチし、 \d* が長さ0、 % が % にマッチ、 最後の .* が残りの部分にマッチしてるからね。
31 : そもそも \d なんて使える sed あんの?
32 : sedsedesedesedesed
33 : sed(sede){3}sed
34 : hosyu
35 : しーずか〜な〜しーずかな〜 さーとのーあ〜きぃ〜 おーsed〜にきぃ〜のみが〜 お〜ちる〜よ〜は〜
36 : http://www.chimimo.com/sed/
37 : sedは日暮れて〜夕波小波〜
38 : temp.txt中の"-"と"+"以外の文字を空白に変換するには sed 's/[^\-\+]/ /g' temp.txt でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには どう記述すればよいのでしょうか sed 's/[^\-\+0-9]/ /g' temp.txt では文法エラーになってしまいます。
39 : >>38 +と−の順番が逆でした。 以下に訂正。 temp.txt中の"-"と"+"以外の文字を空白に変換するには sed 's/[^\+\-]/ /g' temp.txt でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには どう記述すればよいのでしょうか sed 's/[^\+\-0-9]/ /g' temp.txt では文法エラーになってしまいます。
40 : うちの OS だと、ならんけど? まあ sed 's/[^-+0-9]/ /g' temp.txt って書いた方が簡潔だとは思うが。
41 : >>40 > うちの OS だと、ならんけど? > まあ > sed 's/[^-+0-9]/ /g' temp.txt > って書いた方が簡潔だとは思うが。 Cygwin についてくるsed です。 sed 's/[^-+0-9]/ /g' temp.txt これは問題なく正常動作しました。
42 : >>41 > > >>40 > > うちの OS だと、ならんけど? > > まあ > > sed 's/[^-+0-9]/ /g' temp.txt > > って書いた方が簡潔だとは思うが。 > > > Cygwin についてくるsed です。 > > sed 's/[^-+0-9]/ /g' temp.txt > > これは問題なく正常動作しました。 > > sed 's/[^+-0-9]/ /g' temp.txt にするとだめです。 +と0の間にあるコードと解釈されるらしい。
43 : >>42 > sed 's/[^+-0-9]/ /g' temp.txt にするとだめです。 仕様です. http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=re_format&dir=jpman-5.2.0%2Fman§=0
44 : すまん url 化けてた. http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=re_format&dir=jpman-5.2.0%2Fman§=0
45 : なんでperl使わないの?
46 : >>45 どうやって、perl おぼえた?
47 : なんでperl使うの?
48 : らくだ本に一万円投資しちゃったからとか。
49 : どうやって perl インストールしたの?
50 : インストールできなかったの?
51 : FreeBSD の sed って c コマンドの後のコマンドも実行するね。 これってバグじゃね?
52 : >>51 意味不明.
53 : perlは、難しいので sed & awkでやって逝く事にしました。
54 : 適材適所ってこともあるんだよもん。
55 : 若者は、PERLを消化して部位部位いわせsed&AWK何それ?状態 案外、sed&AWKを学ぶ必要がなかったりする? 新しいのについて行けずに、たちどまってしまったオッサンは、sed&AWK せめてPERLぐらいやる。だだでえくいっぱぐれてるのに 両方の言語を使用したことのあるエキスパートに意見を伺いたい sed&AWKなら簡単にできてPERLなら難しい処理例 PERLなら簡単にできてsed&AWKなら難しい処理例 若者、おっさんに向けての指針等など
56 : sed 's/hoge/hage/' のほうが perl -pe 's/hoge/hage/' より短い。
57 : ぐれてないでまず日本語を学ぶ >だだでえくいっぱ
58 : 大岡山のキティに英語の勉強しろといわれたので、伊藤和夫先生のテキストで勉強しました -xx-xx-xxなperlは、使用しない故スティーブンス先生にも意見を聞きたいので >>59 召還ヨロシク
59 : >>58 は浪人生
60 : sed 's/い/お/g' file で、 file内の「いっぱい」が「」に置換されるのは、 正 常 !
61 : s/い/お/g ←「g」付きだと置換結果は「おっぱお」じゃないの?
62 : 質問です。bashにてGnu sed ver4.0.9を用いて echo hoge,uge,hage,age,sage | sed 's/uge,.*\?,//g' を実行しました。 hoge,age,sage が出力されることを期待したのですが、実際の出力は hoge,sage でした。 *や+の後に?を指定すると、例えばperl,pythonなんかでは *や+は non greedy となるので、 sedでもそうなるものと考えてたのですが、何か間違っていたのでしょうか。 また、*や+を non greedy とするにはどうすれば良いのでしょうか。 よろしくお願いします。
63 : >>62 man sed しました? man sed の SEE ALSO 見ると、 GNU sed が regex(7) (POSIX 1003.2) に (大体) 準拠してるとあると思いますが、 POSIX 1003.2 に non greedy な量指定子は無いです。 何か他の方法をとる必要があるかと。
64 : ありがとうございます、とりあえず>62に関しては 's/uge,[^,]*,//' とすることにします。
65 : abc xyzをaxbyczにしたいのですが
66 : >>58 > 大岡山のキティに英語の勉強しろといわれたので、伊藤和夫先生のテキストで勉強しました だれ?
67 : sed 's/abc xyz/axbycz/'
68 : >>65 echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"
69 : >>66 >だれ? は、 >大岡山のキティ >伊藤和夫 の以上2つのうち誰の素性を知りたいのだね?
70 : 68は「大岡山のキティ」本人で複数の人間に「英語の勉強しろ」と言っていた、 という可能性は無いの。
71 : >>70 「大岡山のキティ」に心当たりがあるなら>>66 のためにも、sedのsコマンドで「大岡山のキティ」を痴漢するってのは如何
72 : GNU sedのVersion 4で、マルチバイトパッチをあてたVsersion 3みたく文字コー ドを決めうちして変換する(ctype=EUCみたいに)方法はないのでしょうか。 jiskan16.bdfに外字を足してテキスト処理をやっているのですが、行頭に外字の コードがくると、Version 4.1.4では誤認識してしまうのをなんとかしたいのです が。
73 : grepもUTF-8使えるようになって欲すい。
74 : FreeBSDでutf-8なロケールでgrep使えばOK。
75 : sedで四則演算系は作れますか? 理由も教えてください。
76 : 宿題は自分で。
77 : >>72 bashを使っているとして、LANG=ja_jp.eucJP sed -e "s/hogehoge/fugaguga/" みたいなのじゃダメなの?
78 : >>76 分からないのならレスすんな。
79 : 煽っても無駄ですよ。宿題は自分で。
80 : 75に答えているので78はレスしないでください。
81 : >>77 情報小出しですみません。LNAGは設定してます。 ググってもsedの古いソースがみつからなかったので、とりあえずは、Vine2.6 の3.0.2 (だかなんだかの)のバイナリを入れて動かしてますんで、当面は困っ てはいないのですが、システムのバージョン上げるときに、個別対応する項目 が増えるのは面倒だなと思って質問した次第です。
82 : >>81 GNU sedは4.xでマルチバイト文字対応が別の形で入ってるからね。 3.Xのローカライズパッチではそれほど厳密には検査されなかった 文字範囲が厳しくなってる可能性がある。 内部的には wide character に変換してごにょごにょしてるんだけど、 外字だとここでひっかかるのかもね。最悪自分でソースに手を入れて wrapper関数書くしかないかも(外字をPUAにわりあてちゃうとか)。
83 : >>81 > ググってもsedの古いソースがみつからなかったので、 Ring server にあらかたのバージョンあったよ。 もちろん日本語対応パッチはそこにはないんだけど (これはほかを探せばある)。
84 : > http://pc8.2ch.net/test/read.cgi/unix/1113664637/298 Nで次の行もパターンスペースに読み込んでいた場合に、 d と D の違いが出る。
85 : >>84 ありがとう
86 : >>84 ,85 Nに加えて、sなどで意図的にパターンスペースに改行を入れることもあるよ。 Nを行の先読みに例えれば、後者は行の差込み挿入のような意図で行うんだけど。 その場合にもdとDの違いが出る。
87 : 半角かなをsedで一括置換しようと 下のようなスクリプトを試しましたが うまくいきません 解決策を教えてください s/タ/\\={a}/g s/ツ/\\={\\i}/g s/ト/\\={u}/g s/ニ/\\uc{r}/g s/ヌ/\\uc{\\={r}}/g s/ハ/\\uc{l}/g s/゙/\\d{h}/g s/ワ/\\d{m}/g s/フ/\\.{n}/g s/ホ/\\~n/g OSはwindowsXPですが sedはunix由来だからここで伺ってます すみません
88 : >>87 nkf じゃだめなん?
89 : >>87 UNIX上のsedなら、それでちゃんと動作するよ。
90 : >>88 すみません、nkfで上記の置換を行う方法がわかりません よければ教えてください >>89 可能であれば、windowsで動作した方がいろいろと好都合 ですので...
91 : >>90 UNIX上のsedでは動作 ↓ sedの文法はそれで間違ってない ↓ Win版のsedのバグまたは仕様 ↓ UNIX板でこれ以上聞いても無駄
92 : 88、89さん申し訳ありません wiodows上でのsedでも87のsed置換は可能です 私の勘違いでした 改めて質問させていただきます 設定済みmeadowを使って リージョンを設定して M+shift+|で87のsedスクリプトを走らせた場合 \になってほしい部分が化けてしまいます 原因や対処方法がおわかりに方がいらっしゃったら ご教示願えませんでしょうか?
93 : set-process-coding-system
94 : >>93 ヒントありがとうございます 上述したように リージョンにコマンドを渡す方法を使う場合 set-process-coding-systemの記述は どこに、こんな風に記述すればよろしいのでしょうか? 頭が悪いので設定方法がわかりません よろしければ教えてください
95 : >>94 ずっと効くから.emacs に書いとけ。
96 : >>92 半角かなばっかりの文書を置換するのはできるみたいですが 漢字が混じってたら漢字は化けます 対処方法がありますか?
97 : >>96 > 対処方法がありますか? おまえ朝鮮人のにおいがぷんぷんするんだが。 やっぱり朝鮮人だったか。おねがいだから、国に帰ってくれ。
98 : sed /^$/q が「最初の空行までを出力する」ということで、メールのファイルからヘッダ部分を 抜き出すのに使えることがわかったのですが、その逆「最初の空行から後を出力 する」のはどうするのがよいでしょうか? 「sed ではなく○○を使え」とかいうことになるのかもしれませんが……
99 : sed '1,/^$/d'
100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
無職・煙草・UNIX (599)
こんなStallmanは嫌だ 第6サティアン (594)
UNIXなんて時代遅れだよ。ださ。性能低っ!ゲラゲラ (668)
PPPoE (PPP over Ethernet) スレッド (291)
UNIXerなアニヲタは何に萌えてますか? Part4 (527)
root で rm -rf / (302)
--log9.info------------------
【Flash】SSD Part141【SLC/MLC】 (424)
【LGA1155】SandyBridge H2 Part65 (242)
3〜4万で組む(゚Д゚)ウマーなPC 26台目 (874)
(・∀・)イイ!お勧めのPCケース 141台目 (485)
【】ASRock Part53【梅雨も安心】 (638)
【ELPIDA】 エルピーダメモリ Part20 【JAPAN】 (966)
Mini-ITX Nano-ITX Pico-ITX 総合 -59- (772)
5000円以内の良質電源を探す Part35 (390)
静音電源 part26 (640)
【SAMSUNG】サムスン SSD Part25 (240)
【ARM】Raspberry Pi【\3400】 (553)
5000円以下の低価格マザーボード総合スレ 7枚目 (309)
補助電源なしビデオカード(GPU/VGA) (731)
【流団】熊本電気街17丁目【東バイ】 (859)
440BX Part35 (493)
【GK107】GeForce合同葬儀場 MF【DDR3】 (681)
--log55.com------------------
SDフィットネス 札幌白石店
コナミスポーツ明石大久保 PART16
コスパさかい 3
【名古屋】ラ・グラッセ山王橋-9【老人施設】
【コナミ以外で】 ボディアタック NO25【選べます】
【JEXER】ジェクサー大塚★3
セントラルフィットネスクラブ総合スレ Part10
【総合】ゴールドジム【スレッド】