探検
sed
1名無しさん@お腹いっぱい。
NGNG sedスレッド
13名無しさん@お腹いっぱい。
NGNG メールの中身で
添付ファイルのデータが開始するbase64という文字列があった後のデータ全部切り抜いて出力したいんですが
sedで可能でしょうか?
添付ファイルのデータが開始するbase64という文字列があった後のデータ全部切り抜いて出力したいんですが
sedで可能でしょうか?
15名無しさん@お腹いっぱい。
NGNG From: hoge hage <hoge@moe.com>
↑ これの < > の中に入ってるメールアドレスを、抜き出したいんですが、どうすればいいでしょうか?
↑ これの < > の中に入ってるメールアドレスを、抜き出したいんですが、どうすればいいでしょうか?
NGNG
sed 's/.*From.*<\(.*\)>.*/\1/'
じゃダメ?
じゃダメ?
1715
NGNG >16
ありがとうございます
後は加工して使おうと思います。
ありがとうございます
後は加工して使おうと思います。
18名無しさん@お腹いっぱい。
NGNG ど素人です。
sedでMIFESのグローバル置換みたいなことってできないですか?
あるディレクトリに存在する複数のファイルをワイルドカード指定で入力して
一括して置換してもとのファイルにリダイレクトしてやるみたいな。
下記のイメージで(下記はとおらないですけど・・)。
sed -e 's/aaa/zzz/g' < * > *
1日中ぐぐってぐぐってもがいたけどわかりませんでした。すごいひと教えてください。
sedでMIFESのグローバル置換みたいなことってできないですか?
あるディレクトリに存在する複数のファイルをワイルドカード指定で入力して
一括して置換してもとのファイルにリダイレクトしてやるみたいな。
下記のイメージで(下記はとおらないですけど・・)。
sed -e 's/aaa/zzz/g' < * > *
1日中ぐぐってぐぐってもがいたけどわかりませんでした。すごいひと教えてください。
NGNG
すごくなくてもできる。とりあえず、シェルスクリプトすれに池。
もっと短くできるが、何をやっているかわかりやすく説明するのをかねて↓
find -type f | while read file ; do
mv ${file} ${file}.backup
cat ${file}.backup | sed -e "s/aaa/zzz/g" > ${file}
done
もっと短くできるが、何をやっているかわかりやすく説明するのをかねて↓
find -type f | while read file ; do
mv ${file} ${file}.backup
cat ${file}.backup | sed -e "s/aaa/zzz/g" > ${file}
done
NGNG
次世代sed登場
ttp://news.tbs.co.jp/newseye/tbs_newseye1037945.html
ttp://news.tbs.co.jp/newseye/tbs_newseye1037945.html
NGNG
NGNG
bash上でなのですが、
hoge=`echo ../tmp/work.c | sed 's/\//\\\//g'`
を実行しようとすると、
sed: -e expression #1, char 9: Unknown option to 's'
となってしまうのは、なぜですか?
/を\/に置換したいだけなのです。
hoge=`echo ../tmp/work.c | sed 's/\//\\\//g'`
を実行しようとすると、
sed: -e expression #1, char 9: Unknown option to 's'
となってしまうのは、なぜですか?
/を\/に置換したいだけなのです。
NGNG
NGNG
うーん、確かにシェル向けのネタなのかもですが、
echo ../tmp/work.c | sed 's/\//\\\//g'
だけだと動くのがよくわからなくって。
echo ../tmp/work.c | sed 's/\//\\\//g'
だけだと動くのがよくわからなくって。
NGNG
いいことを教えてあげよう。
's@hoge@hage@g'とやってごらん。
's@hoge@hage@g'とやってごらん。
NGNG
command not found
でした・・・って、そういう意味ではないのかな・・・。
でした・・・って、そういう意味ではないのかな・・・。
NGNG
s/..../..../g は s@....@....@g とも書ける
という意味
という意味
28名無しさん
NGNG 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を取り出したいのですがうまくいきません
結果は
<>
となります
どうすればいいのでしょうか?
/dev/hda5 9.6G 844M 8.3G 10% /
というのを
~$ df /home/ | sed -n -e "2s/.*\(\d*\)%.*/<\1>/p"
として10を取り出したいのですがうまくいきません
結果は
<>
となります
どうすればいいのでしょうか?
29名無しさん@お腹いっぱい。
NGNG space, tab を区切りにして何番目の要素って選択したほうがいいんじゃないの。
NGNG
先頭の.* が % の直前までマッチし、
\d* が長さ0、
% が % にマッチ、
最後の .* が残りの部分にマッチしてるからね。
\d* が長さ0、
% が % にマッチ、
最後の .* が残りの部分にマッチしてるからね。
NGNG
そもそも \d なんて使える sed あんの?
NGNG
sedsedesedesedesed
33名無しさん@お腹いっぱい。
NGNG sed(sede){3}sed
34名無しさん@お腹いっぱい。
NGNG hosyu
NGNG
しーずか〜な〜しーずかな〜
さーとのーあ〜きぃ〜
おーsed〜にきぃ〜のみが〜
お〜ちる〜よ〜は〜
さーとのーあ〜きぃ〜
おーsed〜にきぃ〜のみが〜
お〜ちる〜よ〜は〜
36名無しさん@お腹いっぱい。
NGNGNGNG
sedは日暮れて〜夕波小波〜
38BBQ
05/01/27 15:19:10 temp.txt中の"-"と"+"以外の文字を空白に変換するには
sed 's/[^\-\+]/ /g' temp.txt
でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには
どう記述すればよいのでしょうか
sed 's/[^\-\+0-9]/ /g' temp.txt
では文法エラーになってしまいます。
sed 's/[^\-\+]/ /g' temp.txt
でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには
どう記述すればよいのでしょうか
sed 's/[^\-\+0-9]/ /g' temp.txt
では文法エラーになってしまいます。
39BBQ
05/01/27 15:31:07 >>38
+と−の順番が逆でした。
以下に訂正。
temp.txt中の"-"と"+"以外の文字を空白に変換するには
sed 's/[^\+\-]/ /g' temp.txt
でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには
どう記述すればよいのでしょうか
sed 's/[^\+\-0-9]/ /g' temp.txt
では文法エラーになってしまいます。
+と−の順番が逆でした。
以下に訂正。
temp.txt中の"-"と"+"以外の文字を空白に変換するには
sed 's/[^\+\-]/ /g' temp.txt
でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには
どう記述すればよいのでしょうか
sed 's/[^\+\-0-9]/ /g' temp.txt
では文法エラーになってしまいます。
05/01/27 15:31:45
うちの OS だと、ならんけど?
まあ
sed 's/[^-+0-9]/ /g' temp.txt
って書いた方が簡潔だとは思うが。
まあ
sed 's/[^-+0-9]/ /g' temp.txt
って書いた方が簡潔だとは思うが。
41BBQ
05/01/27 15:55:36>>40
> うちの OS だと、ならんけど?
> まあ
> sed 's/[^-+0-9]/ /g' temp.txt
> って書いた方が簡潔だとは思うが。
Cygwin についてくるsed です。
sed 's/[^-+0-9]/ /g' temp.txt
これは問題なく正常動作しました。
42名無しさん@お腹いっぱい。
05/01/27 21:55:2405/01/27 22:13:09
>>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
> 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
05/01/27 22:15:19
05/01/28 13:57:06
なんでperl使わないの?
05/01/28 17:44:42
>>45
どうやって、perl おぼえた?
どうやって、perl おぼえた?
05/01/28 18:02:57
なんでperl使うの?
05/01/28 18:10:23
らくだ本に一万円投資しちゃったからとか。
05/01/28 18:15:54
どうやって perl インストールしたの?
05/01/30 00:56:27
インストールできなかったの?
51名無しさん@お腹いっぱい。
2005/03/24(木) 05:43:55 FreeBSD の sed って c コマンドの後のコマンドも実行するね。
これってバグじゃね?
これってバグじゃね?
2005/03/24(木) 09:44:49
2005/03/26(土) 16:20:20
perlは、難しいので
sed & awkでやって逝く事にしました。
sed & awkでやって逝く事にしました。
2005/03/26(土) 17:23:11
適材適所ってこともあるんだよもん。
2005/03/29(火) 16:37:56
若者は、PERLを消化して部位部位いわせsed&AWK何それ?状態
案外、sed&AWKを学ぶ必要がなかったりする?
新しいのについて行けずに、たちどまってしまったオッサンは、sed&AWK
せめてPERLぐらいやる。だだでえくいっぱぐれてるのに
両方の言語を使用したことのあるエキスパートに意見を伺いたい
sed&AWKなら簡単にできてPERLなら難しい処理例
PERLなら簡単にできてsed&AWKなら難しい処理例
若者、おっさんに向けての指針等など
2005/03/29(火) 21:20:02
sed 's/hoge/hage/'
のほうが
perl -pe 's/hoge/hage/'
より短い。
のほうが
perl -pe 's/hoge/hage/'
より短い。
2005/03/29(火) 22:01:24
ぐれてないでまず日本語を学ぶ >だだでえくいっぱ
2005/03/30(水) 12:32:32
2005/03/30(水) 14:06:53
>>58は浪人生
2005/04/21(木) 22:37:43
sed 's/い/お/g' file
で、
file内の「いっぱい」が「おっぱい」に置換されるのは、
正 常 !
で、
file内の「いっぱい」が「おっぱい」に置換されるのは、
正 常 !
2005/04/21(木) 23:05:31
s/い/お/g ←「g」付きだと置換結果は「おっぱお」じゃないの?
2005/05/09(月) 16:07:16
質問です。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 とするにはどうすれば良いのでしょうか。
よろしくお願いします。
echo hoge,uge,hage,age,sage | sed 's/uge,.*\?,//g'
を実行しました。
hoge,age,sage
が出力されることを期待したのですが、実際の出力は
hoge,sage
でした。
*や+の後に?を指定すると、例えばperl,pythonなんかでは
*や+は non greedy となるので、
sedでもそうなるものと考えてたのですが、何か間違っていたのでしょうか。
また、*や+を non greedy とするにはどうすれば良いのでしょうか。
よろしくお願いします。
2005/05/09(月) 16:38:04
>>62
man sed しました?
man sed の SEE ALSO 見ると、
GNU sed が regex(7) (POSIX 1003.2) に (大体) 準拠してるとあると思いますが、
POSIX 1003.2 に non greedy な量指定子は無いです。
何か他の方法をとる必要があるかと。
man sed しました?
man sed の SEE ALSO 見ると、
GNU sed が regex(7) (POSIX 1003.2) に (大体) 準拠してるとあると思いますが、
POSIX 1003.2 に non greedy な量指定子は無いです。
何か他の方法をとる必要があるかと。
2005/05/09(月) 17:17:44
ありがとうございます、とりあえず>62に関しては
's/uge,[^,]*,//'
とすることにします。
's/uge,[^,]*,//'
とすることにします。
65名無しさん@お腹いっぱい。
2005/05/10(火) 18:46:02 abc xyzをaxbyczにしたいのですが
2005/05/10(火) 19:18:22
2005/05/10(火) 20:56:07
sed 's/abc xyz/axbycz/'
2005/05/18(水) 10:04:29
>>65
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"
2005/05/18(水) 17:29:04
2005/05/18(水) 19:10:25
68は「大岡山のキティ」本人で複数の人間に「英語の勉強しろ」と言っていた、
という可能性は無いの。
という可能性は無いの。
2005/05/20(金) 15:37:59
2005/05/27(金) 13:57:14
GNU sedのVersion 4で、マルチバイトパッチをあてたVsersion 3みたく文字コー
ドを決めうちして変換する(ctype=EUCみたいに)方法はないのでしょうか。
jiskan16.bdfに外字を足してテキスト処理をやっているのですが、行頭に外字の
コードがくると、Version 4.1.4では誤認識してしまうのをなんとかしたいのです
が。
ドを決めうちして変換する(ctype=EUCみたいに)方法はないのでしょうか。
jiskan16.bdfに外字を足してテキスト処理をやっているのですが、行頭に外字の
コードがくると、Version 4.1.4では誤認識してしまうのをなんとかしたいのです
が。
2005/05/27(金) 18:46:29
grepもUTF-8使えるようになって欲すい。
2005/05/27(金) 19:03:08
FreeBSDでutf-8なロケールでgrep使えばOK。
2005/05/28(土) 20:35:52
sedで四則演算系は作れますか? 理由も教えてください。
2005/05/28(土) 22:09:07
宿題は自分で。
2005/05/29(日) 00:01:58
2005/05/29(日) 07:50:40
>>76
分からないのならレスすんな。
分からないのならレスすんな。
2005/05/29(日) 08:47:11
煽っても無駄ですよ。宿題は自分で。
2005/05/29(日) 08:48:54
75に答えているので78はレスしないでください。
2005/05/29(日) 13:38:42
>>77
情報小出しですみません。LNAGは設定してます。
ググってもsedの古いソースがみつからなかったので、とりあえずは、Vine2.6
の3.0.2 (だかなんだかの)のバイナリを入れて動かしてますんで、当面は困っ
てはいないのですが、システムのバージョン上げるときに、個別対応する項目
が増えるのは面倒だなと思って質問した次第です。
情報小出しですみません。LNAGは設定してます。
ググってもsedの古いソースがみつからなかったので、とりあえずは、Vine2.6
の3.0.2 (だかなんだかの)のバイナリを入れて動かしてますんで、当面は困っ
てはいないのですが、システムのバージョン上げるときに、個別対応する項目
が増えるのは面倒だなと思って質問した次第です。
2005/05/30(月) 01:02:38
>>81
GNU sedは4.xでマルチバイト文字対応が別の形で入ってるからね。
3.Xのローカライズパッチではそれほど厳密には検査されなかった
文字範囲が厳しくなってる可能性がある。
内部的には wide character に変換してごにょごにょしてるんだけど、
外字だとここでひっかかるのかもね。最悪自分でソースに手を入れて
wrapper関数書くしかないかも(外字をPUAにわりあてちゃうとか)。
GNU sedは4.xでマルチバイト文字対応が別の形で入ってるからね。
3.Xのローカライズパッチではそれほど厳密には検査されなかった
文字範囲が厳しくなってる可能性がある。
内部的には wide character に変換してごにょごにょしてるんだけど、
外字だとここでひっかかるのかもね。最悪自分でソースに手を入れて
wrapper関数書くしかないかも(外字をPUAにわりあてちゃうとか)。
83名無しさん@お腹いっぱい。
2005/05/31(火) 23:18:23 >>81
> ググってもsedの古いソースがみつからなかったので、
Ring server にあらかたのバージョンあったよ。
もちろん日本語対応パッチはそこにはないんだけど
(これはほかを探せばある)。
> ググってもsedの古いソースがみつからなかったので、
Ring server にあらかたのバージョンあったよ。
もちろん日本語対応パッチはそこにはないんだけど
(これはほかを探せばある)。
84名無しさん@お腹いっぱい。
2005/06/10(金) 22:45:512005/06/10(金) 22:56:05
>>84
ありがとう
ありがとう
2005/06/10(金) 23:23:16
87名無しさん@お腹いっぱい。
2005/07/15(金) 08:19:58 半角かなを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由来だからここで伺ってます
すみません
下のようなスクリプトを試しましたが
うまくいきません
解決策を教えてください
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由来だからここで伺ってます
すみません
2005/07/15(金) 11:53:16
>>87
nkf じゃだめなん?
nkf じゃだめなん?
2005/07/15(金) 12:15:30
>>87
UNIX上のsedなら、それでちゃんと動作するよ。
UNIX上のsedなら、それでちゃんと動作するよ。
9087
2005/07/15(金) 13:03:542005/07/15(金) 13:21:49
9287
2005/07/15(金) 13:23:40 88、89さん申し訳ありません
wiodows上でのsedでも87のsed置換は可能です
私の勘違いでした
改めて質問させていただきます
設定済みmeadowを使って
リージョンを設定して
M+shift+|で87のsedスクリプトを走らせた場合
\になってほしい部分が化けてしまいます
原因や対処方法がおわかりに方がいらっしゃったら
ご教示願えませんでしょうか?
wiodows上でのsedでも87のsed置換は可能です
私の勘違いでした
改めて質問させていただきます
設定済みmeadowを使って
リージョンを設定して
M+shift+|で87のsedスクリプトを走らせた場合
\になってほしい部分が化けてしまいます
原因や対処方法がおわかりに方がいらっしゃったら
ご教示願えませんでしょうか?
2005/07/15(金) 13:28:00
set-process-coding-system
9487
2005/07/15(金) 13:52:19 >>93
ヒントありがとうございます
上述したように
リージョンにコマンドを渡す方法を使う場合
set-process-coding-systemの記述は
どこに、こんな風に記述すればよろしいのでしょうか?
頭が悪いので設定方法がわかりません
よろしければ教えてください
ヒントありがとうございます
上述したように
リージョンにコマンドを渡す方法を使う場合
set-process-coding-systemの記述は
どこに、こんな風に記述すればよろしいのでしょうか?
頭が悪いので設定方法がわかりません
よろしければ教えてください
2005/07/15(金) 14:31:39
>>94
ずっと効くから.emacs に書いとけ。
ずっと効くから.emacs に書いとけ。
96名無しさん@お腹いっぱい。
2005/07/17(日) 00:37:092005/07/17(日) 04:56:30
2005/08/02(火) 11:01:13
sed /^$/q
が「最初の空行までを出力する」ということで、メールのファイルからヘッダ部分を
抜き出すのに使えることがわかったのですが、その逆「最初の空行から後を出力
する」のはどうするのがよいでしょうか?
「sed ではなく○○を使え」とかいうことになるのかもしれませんが……
が「最初の空行までを出力する」ということで、メールのファイルからヘッダ部分を
抜き出すのに使えることがわかったのですが、その逆「最初の空行から後を出力
する」のはどうするのがよいでしょうか?
「sed ではなく○○を使え」とかいうことになるのかもしれませんが……
2005/08/02(火) 11:42:31
sed '1,/^$/d'
10098
2005/08/03(水) 00:43:23 >99
なるほど。「最初から空行までを削除する」と読むわけですか。
98の「空行が見つかったら終了する」も奥が深いと思ったのですが、まだまだ精進が
足りませんね。ありがとうございました。
なるほど。「最初から空行までを削除する」と読むわけですか。
98の「空行が見つかったら終了する」も奥が深いと思ったのですが、まだまだ精進が
足りませんね。ありがとうございました。
101名無しさん@お腹いっぱい。
2005/08/30(火) 15:38:56 age
2005/08/31(水) 16:15:27
103名無しさん@お腹いっぱい。
2005/10/12(水) 15:14:18 $ cat hoge.txt
A\textrm{1}\textrm{23}\textit{456}B
A\textrm{1}\textit{23}\textrm{456}B
のようなファイルがあるとして
\textrm{}を取り除いて
A123\textit{456}B
A1\textit{23}456B
を取り出したいと思い
$ < hoge.txt sed 's/\\textrm{\(.*\)}/\1/g'
と書きましたが,括弧の対応を外側から取るようで
A1}\textrm{23}\textit{456B
A1}\textit{23}\textrm{456B
と出力されてしまいます.
うまい方法はありませんか?
A\textrm{1}\textrm{23}\textit{456}B
A\textrm{1}\textit{23}\textrm{456}B
のようなファイルがあるとして
\textrm{}を取り除いて
A123\textit{456}B
A1\textit{23}456B
を取り出したいと思い
$ < hoge.txt sed 's/\\textrm{\(.*\)}/\1/g'
と書きましたが,括弧の対応を外側から取るようで
A1}\textrm{23}\textit{456B
A1}\textit{23}\textrm{456B
と出力されてしまいます.
うまい方法はありませんか?
2005/10/12(水) 15:44:31
{\(.*\)}の部分が最長マッチしちゃんだから、ここのマッチが}で切れるよう
{\([^}]*\)}に変えればいい。
{\([^}]*\)}に変えればいい。
106名無しさん@お腹いっぱい。
2005/11/24(木) 20:57:48 コマンドラインオプションの -n がよく理解できないんですが、どういう場面で使えばいいんでしょうか
2005/11/24(木) 21:06:03
matchしたところだけくださいってな場面
2005/11/24(木) 21:44:39
sedを「セド」と呼ぶぽ
2005/11/25(金) 01:55:29
設定ファイルのコメントを除くときとか
2006/01/06(金) 04:53:17
sedってホールドスペースは1個しか使えないの?
2006/01/06(金) 06:52:12
>>110
yes
yes
2006/01/06(金) 08:45:14
2006/01/06(金) 10:24:18
>>110
はい。
はい。
レスを投稿する
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- たまにaカップの女いるけど何を楽しめばいいの?
