[表示 : 全て 最新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スレッド

74 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/27(金) 19:03:08 .net]
FreeBSDでutf-8なロケールでgrep使えばOK。



75 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/28(土) 20:35:52 .net]
sedで四則演算系は作れますか? 理由も教えてください。

76 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/28(土) 22:09:07 .net]
宿題は自分で。

77 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/29(日) 00:01:58 .net]
>>72

bashを使っているとして、LANG=ja_jp.eucJP sed -e "s/hogehoge/fugaguga/"
みたいなのじゃダメなの?


78 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/29(日) 07:50:40 .net]
>>76
分からないのならレスすんな。

79 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/29(日) 08:47:11 .net]
煽っても無駄ですよ。宿題は自分で。

80 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/29(日) 08:48:54 .net]
75に答えているので78はレスしないでください。

81 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/29(日) 13:38:42 .net]
>>77

情報小出しですみません。LNAGは設定してます。
ググってもsedの古いソースがみつからなかったので、とりあえずは、Vine2.6
の3.0.2 (だかなんだかの)のバイナリを入れて動かしてますんで、当面は困っ
てはいないのですが、システムのバージョン上げるときに、個別対応する項目
が増えるのは面倒だなと思って質問した次第です。


82 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/30(月) 01:02:38 .net]
>>81

GNU sedは4.xでマルチバイト文字対応が別の形で入ってるからね。
3.Xのローカライズパッチではそれほど厳密には検査されなかった
文字範囲が厳しくなってる可能性がある。

内部的には wide character に変換してごにょごにょしてるんだけど、
外字だとここでひっかかるのかもね。最悪自分でソースに手を入れて
wrapper関数書くしかないかも(外字をPUAにわりあてちゃうとか)。




83 名前:名無しさん@お腹いっぱい。 [2005/05/31(火) 23:18:23 .net]
>>81

> ググってもsedの古いソースがみつからなかったので、

Ring server にあらかたのバージョンあったよ。
もちろん日本語対応パッチはそこにはないんだけど
(これはほかを探せばある)。


84 名前:名無しさん@お腹いっぱい。 [2005/06/10(金) 22:45:51 .net]
pc8.2ch.net/test/read.cgi/unix/1113664637/298
Nで次の行もパターンスペースに読み込んでいた場合に、
d と D の違いが出る。

85 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/10(金) 22:56:05 .net]
>>84
ありがとう

86 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/10(金) 23:23:16 .net]
>>84,85
Nに加えて、sなどで意図的にパターンスペースに改行を入れることもあるよ。
Nを行の先読みに例えれば、後者は行の差込み挿入のような意図で行うんだけど。
その場合にもdとDの違いが出る。

87 名前:名無しさん@お腹いっぱい。 [2005/07/15(金) 08:19:58 .net]
半角かなを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 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/15(金) 11:53:16 .net]
>>87
nkf じゃだめなん?

89 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/15(金) 12:15:30 .net]
>>87
UNIX上のsedなら、それでちゃんと動作するよ。

90 名前:87 [2005/07/15(金) 13:03:54 .net]
>>88
すみません、nkfで上記の置換を行う方法がわかりません
よければ教えてください

>>89
可能であれば、windowsで動作した方がいろいろと好都合
ですので...

91 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/15(金) 13:21:49 .net]
>>90
UNIX上のsedでは動作

sedの文法はそれで間違ってない

Win版のsedのバグまたは仕様

UNIX板でこれ以上聞いても無駄

92 名前:87 [2005/07/15(金) 13:23:40 .net]
88、89さん申し訳ありません
wiodows上でのsedでも87のsed置換は可能です
私の勘違いでした

改めて質問させていただきます

設定済みmeadowを使って
リージョンを設定して
M+shift+|で87のsedスクリプトを走らせた場合
\になってほしい部分が化けてしまいます

原因や対処方法がおわかりに方がいらっしゃったら
ご教示願えませんでしょうか?




93 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/15(金) 13:28:00 .net]
set-process-coding-system

94 名前:87 [2005/07/15(金) 13:52:19 .net]
>>93
ヒントありがとうございます

上述したように
リージョンにコマンドを渡す方法を使う場合

set-process-coding-systemの記述は

どこに、こんな風に記述すればよろしいのでしょうか?

頭が悪いので設定方法がわかりません
よろしければ教えてください

95 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/15(金) 14:31:39 .net]
>>94
ずっと効くから.emacs に書いとけ。

96 名前:名無しさん@お腹いっぱい。 [2005/07/17(日) 00:37:09 .net]
>>92
半角かなばっかりの文書を置換するのはできるみたいですが
漢字が混じってたら漢字は化けます
対処方法がありますか?

97 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/17(日) 04:56:30 .net]
>>96
> 対処方法がありますか?

おまえ朝鮮人のにおいがぷんぷんするんだが。
やっぱり朝鮮人だったか。おねがいだから、国に帰ってくれ。

98 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/08/02(火) 11:01:13 .net]
sed /^$/q

が「最初の空行までを出力する」ということで、メールのファイルからヘッダ部分を
抜き出すのに使えることがわかったのですが、その逆「最初の空行から後を出力
する」のはどうするのがよいでしょうか?

「sed ではなく○○を使え」とかいうことになるのかもしれませんが……

99 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/08/02(火) 11:42:31 .net]
sed '1,/^$/d'


100 名前:98 mailto:sage [2005/08/03(水) 00:43:23 .net]
>99
なるほど。「最初から空行までを削除する」と読むわけですか。

98の「空行が見つかったら終了する」も奥が深いと思ったのですが、まだまだ精進が
足りませんね。ありがとうございました。

101 名前:名無しさん@お腹いっぱい。 [2005/08/30(火) 15:38:56 .net]
age

102 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/08/31(水) 16:15:27 .net]
1行野郎どっさり
www.student.northpark.edu/pemente/sed/sed1line52.txt



103 名前:名無しさん@お腹いっぱい。 [2005/10/12(水) 15:14:18 .net]
$ 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
と出力されてしまいます.
うまい方法はありませんか?


104 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/12(水) 15:44:31 .net]
{\(.*\)}の部分が最長マッチしちゃんだから、ここのマッチが}で切れるよう
{\([^}]*\)}に変えればいい。

105 名前:103 mailto:sage [2005/10/12(水) 15:47:46 .net]
>>104
なるほど!
どうもありがとうございます.


106 名前:名無しさん@お腹いっぱい。 [2005/11/24(木) 20:57:48 .net]
コマンドラインオプションの -n がよく理解できないんですが、どういう場面で使えばいいんでしょうか

107 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/24(木) 21:06:03 .net]
matchしたところだけくださいってな場面

108 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/24(木) 21:44:39 .net]
sedを「セド」と呼ぶぽ

109 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/25(金) 01:55:29 .net]
設定ファイルのコメントを除くときとか

110 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 04:53:17 .net]
sedってホールドスペースは1個しか使えないの?

111 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 06:52:12 .net]
>>110
yes

112 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 08:45:14 .net]
>>111
否定疑問文だから、英語で答えるなら
"No" が正解だろ。



113 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 10:24:18 .net]
>>110
はい。

114 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 10:37:46 .net]
>>111-113
Thank you all.
知恵と勇気と愛でなんとかしてみる

115 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 18:30:00 .net]
否定疑問文に
「んなことない」みたいな答え方はどうしたらいい?

116 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 18:35:30 .net]
>>115
■スレッド立てるまでもない質問スレッド Part112◆
academy4.2ch.net/test/read.cgi/english/1136133816/

117 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 18:42:23 .net]
112は最近英語を知った厨房にすぎない

118 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 19:12:12 .net]
>>115
Yes. と答えればいいだけ。

119 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/06(金) 19:39:41 .net]
>>115
「んなことない」= "There is no such Japanese zither."

120 名前:名無しさん@お腹いっぱい。 [2006/02/08(水) 18:38:37 .net]
@

121 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/08(水) 19:42:26 .net]
ウナコーワ足んない

122 名前:名無しさん@お腹いっぱい。 [2006/04/12(水) 02:41:13 .net]
深夜上げ



123 名前:名無しさん@お腹いっぱい。 [2006/08/22(火) 16:18:15 .net]
ウムムム

124 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/03(金) 09:37:20 .net]
同じ文字が3文字連続していたら表示したいのだが

125 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/04(土) 02:04:43 .net]
>>124
pc8.2ch.net/test/read.cgi/unix/1039165754/600

126 名前:名無しさん@お腹いっぱい。 mailto:age [2006/11/14(火) 20:28:59 .net]
grep, sed, awk
www.shuwasystem.co.jp/books/wwwsrch/cgi-bin/content/794/index.htm
この本ってどうですか?
単なるマニュアル以上の情報は載ってる?

127 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/14(火) 20:59:20 .net]
このシリーズはなんとなく印象が悪いので手にとってないな。そういえば。

128 名前:名無しさん@お腹いっぱい。 [2006/11/18(土) 10:13:03 .net]
教えてください。
awk,sed,シェルを使い、カンマ区切りのファイルの1カラム目と2カラム目をキーに、
あるファイルに含まれる行を削除するにはどうすればよいのでしょうか?

例)
--aaa.csv--
111,222,333,444
555,666,777,888
999,000,111,222

--file1.txt--
111222
555666

の場合、aaa.csvより下記行のみほしい。
999,000,111,222

ご存知でしたら、ご教授ください。
よろしくお願いします。


129 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/18(土) 11:48:03 .net]
>>128
sed 's/\(...\)\(...\)/^\1,\2/' file1.txt | egrep -f- -v aaa.csv

130 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/18(土) 12:30:05 .net]
>>129
突っ込みだけでスマン。それだと、
111,222999999999,333,444
なんていうのがaaa.csvにあると、これも削除されるぞ。

数字の桁数が自由か固定かあいまいな>>128がいけないんだが、
sedの置換先は /^\1,\2,/ みたいなんの方が安全と思う。



131 名前:名無しさん@お腹いっぱい。 [2006/11/18(土) 20:48:36 .net]
>>129-130さんありがとうございました。
大変、参考になります。
私の説明がいけなかったのですが、
aaa.csvの1カラム目と2カラム目は固定ではなく、自由です。
ですので、
--aaa.csv--
11111,2222,333,444
55,666666,777,888
のような場合もあるのです。

また、file1.txtのほうも固定ではなく、
--file1.txt--
1111111222
555666
2233333
とスペースが入っている場合すらあります。

度々で恐縮ですが、
ご存知でしたら、ご教授ください。
よろしくお願いします。



132 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/18(土) 23:16:33 .net]
>>131
仕事で必要ならコンサルタントを雇いなさい。



133 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/19(日) 01:09:53 .net]
perl かなんかで書いちゃった方が早いよ。

134 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/19(日) 07:09:03 .net]
sed,awk=perlかなんか

135 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/28(火) 22:11:41 .net]
職場のマシン、perlが入ってなかった・・・ orz

136 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/28(火) 22:52:45 .net]
この場合は、sedよりawkなんかな?
awkで書いてスピードアップのためのawkccしてしまうとか。


137 名前:名無しさん@お腹いっぱい。 [2006/12/07(木) 00:21:57 .net]
ご存知でしたら、教えてください。
Solarisのawkで、変数に対しての比較に正規表現が使えないのですが、
よい方法をご存知の方がいましたら、教えて下さい。
nawkなら、上手くいくのですが、awkでは無理なのでしょうか?
また、Linuxのawkなら、上手くいきました。
よろしくお願いします。

例)下記の場合、./test.shを実行すると、test.awkの正規表現を使用している部分[if ( $7 ~ HENSU )]
でエラーになってしまいます。
--------------------test.shの中身--------------------
#!/bin/sh
HENSU="3A"
cat testdt.txt | \
awk -f test.awk HENSU=${HENSU}
exit 0
-----------------------------------------------------
--------------------testdt.txtの中身--------------------
aaaaabbbbcccdddeeeeeffffffgg3Aggggghhhhhhhiiiii
-----------------------------------------------------
--------------------test.awkの中身--------------------
BEGIN{
FS="\t"
}
{
if ( $7 ~ HENSU )
{
print $0
}
}
-----------------------------------------------------


138 名前:名無しさん@お腹いっぱい。 [2006/12/07(木) 20:54:41 .net]
>>137
awk -f test.awk -v HENSU=${HENSU}
じゃね?
確認はできんが

139 名前:名無しさん@お腹いっぱい。 [2007/02/04(日) 08:46:50 .net]
ある文字列を
現在時間+引数
に置換したいのですが、どのようにすればいいですか?

perlを使えば簡単なんだけど、職場のマシンでperl が入ってなかった(汗)

ちなみに、sed とawk は使えるみたいです。

140 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/06(火) 00:47:03 .net]
>>139
引数によるけど、dateコマンドが使えてたら、OKでは。
$ date +%R
00:45
$ date --date '6 min ago' +%R
00:39
という感じで引数を与えるといけると思う

141 名前:名無しさん@お腹いっぱい。 [2007/02/11(日) 21:34:20 .net]
入力ファイルを書き換えることはできる?

% sed 's/ABC/abc/' input.txt > output.txt
よくある上のようなプログラム(と呼ぶのかな?)で、
出力をoutput.txt
じゃなくてinput.txt のファイル自身を書き換えたいんだけど、可能かな?

つまり、余計なファイルは出力させたくないんだよ。

142 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 21:46:12 .net]
>>141

a.in-place オプションが使えるバージョンのsedを使う
b.inplaceというコマンドをつかってみる
c. (rm hoge.dat; sed 's/aaa/bbb/' > hoge.dat) < hoge.dat

あるいは
pc10.2ch.net/test/read.cgi/unix/1157601611/708-727
あたりを参照



143 名前:141 [2007/02/11(日) 21:57:51 .net]
>>142
情報サンクス
a. の方法を用いました


144 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 22:27:47 .net]
問題解決したようだけどこぴぺして編集

・-i オプションをつかう
・-i オプションがないsedをつかっているなら in-place editing 対応の sed の導入を検討する
・ed をつかう
・perl を使う
・一時ファイルを必要としないファイル命名法を検討する
www.idaemons.org/projects/inplace/  を使う
・(rm hoge.dat; sed 's/aaa/bbb/' > hoge.dat) < hoge.dat


FreeBSD の標準 sed に -i オプションが取り入れられたのは 4.7R でそれ以前には無い。
NetBSD の標準 sed には -i オプションは無い。 
OpenBSDの(ry
MacOSX の 標準 sed は FreeBSD 由来なので元になるバージョンに依存する。
MacOSX 10.3以降は FreeBSD 5.1R由来なので、 -iオプションはある。
以前のGNU sed には in-place editing 機能はない (Changelog によると 2001-09-25 ) (3.02には in place オプションは無い)



145 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 23:12:50 .net]
>>144
まとめ乙

146 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 05:04:17 .net]
あってもなくてもいい追加
HP-UX 11i Version 2: September 2004
docs.hp.com/ja/B2355-90851/sed.1.html
AIX 5L Version 5.2
inetsd01.boulder.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds5/sed.htm
SunOS 5.10
docs.sun.com/app/docs/doc/819-1210/6n3j74jsr?q=sed&a=view

いづれも 標準 sed に -i オプションは無い

147 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 15:18:51 .net]
irix
techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/u_man/cat1/sed.z&srch=sed

148 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/16(月) 23:15:15 .net]
仕事で root してる人に質問です。
皆さんどれぐらい仕事で sed スクリプト書いてます?

スクリプトの後々のメンテナンスと、既に周囲に読める人があまり
居ないこととを考えると、s での置換以外では perl を使うか、そ
うなったらもう全部 perl にした方がいいのかなと最近思ったりし
ます。

6行の sed スクリプトを書いたのですが、コメントが 8 行になっ
てしまって。。。


149 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/17(火) 00:51:04 .net]
sedで複数行書くのは犯罪だ。awkで書こう

150 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/17(火) 00:55:39 .net]
そんなん読めないやつに管理まかせちゃいかんよ。

151 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/18(水) 23:42:12 .net]
>>148
すぐに読めなくても、それがsedのスクリプトであることを書いておけば、
perlを使えるひとならちょっとの手間で読めるようになるでしょ。
そうでなければ>>150ということに。

それから、6行のスクリプトのコメントが8行になっても、それはそれでいいじゃないか。

152 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/19(木) 01:05:48 .net]
sedの複数行は本当に頭痛がしてくる。
perでlさえ可読性悪いと言われてるのにその比じゃない。
個人的趣味以外で書いてはいけない



153 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 01:38:29 .net]
sed のコードのそばに、
それを perl なり awk なりで書いたものを
コメントとして残せば
・可読性→クリア
・コメント行数→クリア
・メンテ→工数倍w

154 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 03:10:13 .net]
s2pでいいじゃん、とかおもったりおもわなかったり

155 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/08(火) 00:15:31 .net]
sedで千行あるファイルの
100行目から150行目を
抜き出すには
どうしたらいいですか

156 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/08(火) 00:17:32 .net]
sed -ne "100,150p"

157 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/08(火) 11:04:38 .net]
sed -n 100,150p

158 名前:名無しさん@お腹いっぱい。 [2007/06/04(月) 20:43:16 .net]
単語の置換をしたいんだけど、どうしたらよいでしょうか


具体的な例で言うと、あるソース中の int を char に全置換したい
んだけど 単純に sed "s/int/char/g" だと printf まで変わって
しまうから それは避けたい。
「単語」の条件は 英数字+アンダースコア (\w+) であること。

これ絶対FAQだと思うんだけど、 「sed 単語 置換」 で検索しても
答にたどり着かなかったのですよ。 困った。

159 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/04(月) 21:26:42 .net]
perl -pe 's/\bint\b/char/'

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/04(月) 21:37:31 .net]
>>159 アフォか

正解:

sed 's/\<int\>/char/g'

161 名前:158 mailto:sage [2007/06/04(月) 22:15:45 .net]
>>159
ありがとうございました!
うまくいけました。

162 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/04(月) 22:20:07 .net]
\< \>で思い出したけど、HP-UXのgrepではこれ使えんのだよな。
同じregexpライブラリを使っているなら、sedでも使えんな。




163 名前:159 mailto:sage [2007/06/04(月) 23:51:11 .net]
スレタイ読まずに書き込んで感謝されちゃったよ

こういうのを
いたたまれない気持ち
っていうのかな

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/01(日) 11:49:33 .net]
1
2
3
4
というtemp.txtをsed N temp.txtとすると
1
2
3
4
になるのはわかるのですがsed n temp.txtにすると
2
3
4
にならないのはどうしてですか
夜も眠れません

165 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 10:30:14 .net]
sed -e N -e 's/^/X/' -e 's/$/x/'
sed -e n -e 's/^/X/' -e 's/$/x/'

166 名前:名無しさん@お腹いっぱい。 [2007/07/03(火) 18:48:39 .net]
下記のように、置換する文字に変数って使えないんでしょうか?
設定ファイル100個飛ばしてしまったorz
forでループして、一気に変えたいんですが、$mlとそのまま置換されて
しまいます。このままだと、全部手がきです(T.T)
どなたかお助け下さい。

ml=hoge
sed 's/$ml/foo/'

167 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 18:51:10 .net]
>>166
それはsedじゃなくて、シェルスクリプト側の話だね。
' ' じゃなくて " " を使う。

sed "s/$ml/foo/"

168 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 19:17:43 .net]
そしてmlが"/"を含んでいて破滅する。

169 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 19:30:17 .net]

できました!(T.T)
ありがとうございました。一時は徹夜を覚悟しました。
本当に助かりました。ありがとう!

170 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 22:52:03 .net]
>>168
まさにそれ。
やりたいのは、特定の文字列を
現在のディレクトリ位置に置換したいということなんですが、
シェルスクリプトで
sed s/hoge/$PWD/g < file1.txt > file2.txt
と書くと、エラーになってしまいます。
($PWDが/を含んでいるから)
だれかうまいやり方わかりませんか?

171 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 22:54:37 .net]
sed "s|hoge|$PWD|g" < file1.txt > file2.txt

172 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 23:43:40 .net]
>>171
はやっ!ありがとー!
でもごめんなさい、実は明後日まで試せる環境がないので、
また試せたら報告に来ます。




173 名前:名無しさん@お腹いっぱい。 [2007/07/12(木) 20:37:34 .net]
sedでラベルを1行スクリプトに組み込むのは無理ですか?
sed '/^$/!{N;};/^$/{s/\n //g;}
Nが終わったあとにスクリプトの最初に戻したいのですが美味くいきません・・・

174 名前:名無しさん@お腹いっぱい。 [2007/07/12(木) 21:01:50 .net]
【参院選】民主党から、在日コリアンの期待背負った金氏(民団幹部)が立候補…在日参政権訴え
news22.2ch.net/test/read.cgi/newsplus/1184227903/l50






[ 続きを読む ] / [ 携帯版 ]

前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