5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

sed

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

2 :名無しさん@お腹いっぱい。:04/05/28 17:06
2

3 :名無しさん@お腹いっぱい。:04/05/28 17:09
sed -e '1,2d' -e '4,$d'

4 :名無しさん@お腹いっぱい。:04/05/28 17:12
sed -E -e '=' test | sed -E 'N;s/\n/: /' | sed -E 's/^([0-9]: )/0\1/'

これをパイプを使わずに表現したいんですけど、どうすれば出来ますか?

5 :名無しさん@お腹いっぱい。:04/05/28 17:14
sedのスクリプトで?
sed -f hoge test
なかんじ?

6 :4:04/05/28 17:18
>>5
はい。
#!/usr/bin/sed -f
{
=
N
s/\n/: /
s/^([0-9]: )/0\1/
}

としてもうまく行かなくて悩んでいます。

7 :名無しさん@お腹いっぱい。:04/05/28 17:22
適材適所という言葉があるだろうに…

% awk '{printf "%02d: %s\n", NR, $0}' test

8 :4:04/05/28 17:30
例えば
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 :名無しさん@お腹いっぱい。:04/05/28 18:46
ム板のawkスレの住人だな?

10 :名無しさん@お腹いっぱい。:04/05/28 19:29
http://pc5.2ch.net/test/read.cgi/linux/1067815570/

11 :名無しさん@お腹いっぱい。:04/05/29 02:07
【貝】第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 :名無しさん@お腹いっぱい。:04/07/03 15:06
古いけどそこそこ良くまとまったサイトを紹介してみよ。
ttp://www.gcd.org/sengoku/sedlec/

13 :名無しさん@お腹いっぱい。:04/07/16 12:26
メールの中身で
添付ファイルのデータが開始するbase64という文字列があった後のデータ全部切り抜いて出力したいんですが
sedで可能でしょうか?


14 :名無しさん@お腹いっぱい。:04/07/16 15:22
>>13
http://www.gcd.org/sengoku/sedlec/12.txt

15 :名無しさん@お腹いっぱい。:04/07/17 10:31
From: hoge hage <hoge@moe.com>
↑ これの < > の中に入ってるメールアドレスを、抜き出したいんですが、どうすればいいでしょうか?


16 :名無しさん@お腹いっぱい。:04/07/17 11:48
sed 's/.*From.*<\(.*\)>.*/\1/'
じゃダメ?

17 :15:04/07/17 13:02
>16
ありがとうございます
後は加工して使おうと思います。


18 :名無しさん@お腹いっぱい。:04/09/20 15:15:15
ど素人です。
sedでMIFESのグローバル置換みたいなことってできないですか?
あるディレクトリに存在する複数のファイルをワイルドカード指定で入力して
一括して置換してもとのファイルにリダイレクトしてやるみたいな。
下記のイメージで(下記はとおらないですけど・・)。
sed -e 's/aaa/zzz/g' < * > *
1日中ぐぐってぐぐってもがいたけどわかりませんでした。すごいひと教えてください。

19 :名無しさん@お腹いっぱい。:04/09/20 15:32:00
すごくなくてもできる。とりあえず、シェルスクリプトすれに池。
もっと短くできるが、何をやっているかわかりやすく説明するのをかねて↓

find -type f | while read file ; do
mv ${file} ${file}.backup
cat ${file}.backup | sed -e "s/aaa/zzz/g" > ${file}
done


20 :名無しさん@お腹いっぱい。:04/09/20 18:19:09
次世代sed登場
ttp://news.tbs.co.jp/newseye/tbs_newseye1037945.html

21 :名無しさん@お腹いっぱい。:04/09/20 20:54:22
>>19
おわっ。あっさりできたっ。どうもありがとです!
シェルスクリプトすごい便利。勉強しなきゃですね・・。

22 :名無しさん@お腹いっぱい。:04/09/22 03:09:12
bash上でなのですが、
hoge=`echo ../tmp/work.c | sed 's/\//\\\//g'`
を実行しようとすると、
sed: -e expression #1, char 9: Unknown option to 's'
となってしまうのは、なぜですか?

/を\/に置換したいだけなのです。

23 :名無しさん@お腹いっぱい。:04/09/22 03:29:24
>>22
sed 関係ないやん
\ → \\

24 :名無しさん@お腹いっぱい。:04/09/22 03:50:35
うーん、確かにシェル向けのネタなのかもですが、
echo ../tmp/work.c | sed 's/\//\\\//g'
だけだと動くのがよくわからなくって。


25 :名無しさん@お腹いっぱい。:04/09/22 04:32:21
いいことを教えてあげよう。
's@hoge@hage@g'とやってごらん。

26 :名無しさん@お腹いっぱい。:04/09/22 05:02:27
command not found
でした・・・って、そういう意味ではないのかな・・・。

27 :名無しさん@お腹いっぱい。:04/09/22 10:45:33
s/..../..../g は s@....@....@g とも書ける

という意味

28 :名無しさん:04/09/24 04:30:15
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 :名無しさん@お腹いっぱい。:04/09/24 06:40:09
space, tab を区切りにして何番目の要素って選択したほうがいいんじゃないの。

30 :名無しさん@お腹いっぱい。:04/09/24 06:43:14
先頭の.* が % の直前までマッチし、
\d* が長さ0、
% が % にマッチ、
最後の .* が残りの部分にマッチしてるからね。

31 :名無しさん@お腹いっぱい。:04/09/24 12:56:25
そもそも \d なんて使える sed あんの?

32 :名無しさん@お腹いっぱい。:04/10/10 16:22:51
sedsedesedesedesed

33 :名無しさん@お腹いっぱい。:04/10/10 17:50:46
sed(sede){3}sed

34 :名無しさん@お腹いっぱい。:04/11/09 16:03:38
hosyu

35 :名無しさん@お腹いっぱい。:04/11/09 21:45:42
しーずか〜な〜しーずかな〜
さーとのーあ〜きぃ〜
おーsed〜にきぃ〜のみが〜
お〜ちる〜よ〜は〜

36 :名無しさん@お腹いっぱい。:04/11/23 17:09:03
http://www.chimimo.com/sed/

37 :名無しさん@お腹いっぱい。:04/12/25 00:53:17
sedは日暮れて〜夕波小波〜

38 :BBQ:05/01/27 15:19:10
temp.txt中の"-"と"+"以外の文字を空白に変換するには


sed 's/[^\-\+]/ /g' temp.txt


でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには

どう記述すればよいのでしょうか

sed 's/[^\-\+0-9]/ /g' temp.txt

では文法エラーになってしまいます。

39 :BBQ:05/01/27 15:31:07
>>38

+と−の順番が逆でした。
以下に訂正。

temp.txt中の"-"と"+"以外の文字を空白に変換するには


sed 's/[^\+\-]/ /g' temp.txt


でうまくいきますが、temp.txt中の"-"と"+"と数字以外の文字を空白に変換するには

どう記述すればよいのでしょうか

sed 's/[^\+\-0-9]/ /g' temp.txt

では文法エラーになってしまいます。


40 :名無しさん@お腹いっぱい。:05/01/27 15:31:45
うちの OS だと、ならんけど?
まあ
sed 's/[^-+0-9]/ /g' temp.txt
って書いた方が簡潔だとは思うが。

41 :BBQ: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:24
>>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 :名無しさん@お腹いっぱい。:05/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


44 :名無しさん@お腹いっぱい。:05/01/27 22:15:19
すまん 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 :名無しさん@お腹いっぱい。:05/01/28 13:57:06
なんでperl使わないの?

46 :名無しさん@お腹いっぱい。:05/01/28 17:44:42
>>45
どうやって、perl おぼえた?

47 :名無しさん@お腹いっぱい。:05/01/28 18:02:57
なんでperl使うの?

48 :名無しさん@お腹いっぱい。:05/01/28 18:10:23
らくだ本に一万円投資しちゃったからとか。

49 :名無しさん@お腹いっぱい。:05/01/28 18:15:54
どうやって perl インストールしたの?

50 :名無しさん@お腹いっぱい。:05/01/30 00:56:27
インストールできなかったの?

10 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)