[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 01/04 13:54 / Filesize : 39 KB / Number-of Response : 149
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

おまいら! sed の使い方教えて下さいm(_ _)m



1 名前:sed@修業中 [03/11/03 08:26 ID:62bfq5Tp]
Linux使ってるならsedあたりはサックって使えるようになりたい。
だけどなかなかまとまった日本語の解説がすくなくて苦労する。
ここで皆の智恵をだしつくして欲しい!

日本語解説サイト
www-6.ibm.com/jp/developerworks/linux/010202/j_l-sed1.html
www-6.ibm.com/jp/developerworks/linux/010216/j_l-sed2.html
www-6.ibm.com/jp/developerworks/linux/010223/j_l-sed3.html

英語だとここからたどれる
sed.sourceforge.net/index.html

2 名前:login:Penguin mailto:sage [03/11/03 08:30 ID:tx4gghPz]
くだらねえ質問はここに書きこめ! part61
pc.2ch.net/test/read.cgi/linux/1067454177/

3 名前:login:Penguin mailto:  [03/11/03 08:41 ID:uOnbNLjG]
サックっと削除依頼を出しなさい。

4 名前:login:Penguin mailto:sage [03/11/03 09:11 ID:yls3lVXA]
man sed

5 名前:login:Penguin mailto:sage [03/11/03 09:16 ID:Zp8b1C/Y]
む、面白そうだけどなぁ > sedスレ。awkも一緒に扱ってくれるとありがたい。
とりあえずリンク貼り

sedは日暮れて
www.chimimo.com/sed/


6 名前:login:Penguin mailto:sage [03/11/03 09:59 ID:QpSlPJMR]
関連スレ?

awkについて語るスレ
pc2.2ch.net/test/read.cgi/tech/1023556171/l50

7 名前:sed@修行中 [03/11/03 10:11 ID:62bfq5Tp]
例えば英辞郎の加工で
【用例xxx】部分を書き出すと英作に役立つ例文集ができるとおもうんだけど
こんなのどうやるかなんて考えてみたい。

8 名前:login:Penguin mailto:sage [03/11/03 11:31 ID:LQJ0rTOM]
オライリー飼って嫁。異常。

9 名前:sed@修行中 [03/11/03 12:43 ID:62bfq5Tp]
>>7から続き
とりあえずsedにやらせたいことをファイルに書きながらやっていこう。
yourei.sed
=============================
/【用例.*/p
d
=============================
確認してみる
$ sed -f yourei.sed eijirou.txt | more


とりあえず【用例 を含む行だけ抜粋できた。
ここからまだまだ加工が必要だな。
ぼちぼちやっていくさ。。。


10 名前:login:Penguin mailto:sage [03/11/03 13:16 ID:kps3+oSU]
ダメではないんだが、シェルスクリプト御用達系のスレは馬力がなくていかん。

てなわけで今度立てるときはsedとawk両方で立ててくれ。



11 名前:sed@修行中 [03/11/03 19:11 ID:62bfq5Tp]
>>10
そうするよ。
早く終りそうな方が統合スレたてたらいいんだよね?

>>9のつづき
じゃまな振り仮名を削除してみる。
furigana.sed
===============================
s/{[^}]}//g
d
===============================
※振り仮名は全角の{}で囲まれている。

$ sed -f yourei.sed eijirou.txt | sed -f furigana.sed > yourei.txt

次は一行テキストの途中に現われる【用例xxx】のところを改行したい。

12 名前:login:Penguin mailto:sage [03/11/03 19:19 ID:1oU+54gi]
いらんもの全部削除

sed -f /dev/zero gomi.txt > gomi.txt


13 名前:sed@修行中 [03/11/03 20:24 ID:62bfq5Tp]
>>11のつづき
【用例xxx】で改行させてみる。
kaigyou.sed
=========================
s/\/[[:blank:]]/\/\
/g
=========================
※英辞郎はスペース + スラッシュ + スペースで用例を区切っている。

$ sed -f yourei.sed eijirou.txt | sed -f furigana.sed | sed -f kaigyou.sed > yourei.txt



14 名前:login:Penguin mailto:sage [03/11/03 20:29 ID:IeH/wT1r]
例題ネタとしては、GNU sed-4.0.XのinfoのExampleにいろいろあるよ。

15 名前:sed@修行中 [03/11/03 21:24 ID:62bfq5Tp]
>>13のつづき

■で始まる行は邪魔なので削除する。
$ sed -e '/^■/d' yourei.txt > yourei1.txt

英文と和訳が対になってる行だけにする。
$ sed -n -e '/[[:space:]]:[[:space:]]/p' yourei1.txt > yourei2.txt

行頭を■で統一
$ sed -e '/^【[^】]*】[[:space:]]/d' yourei2.txt | sed -e 's/^/■/g' > yourei3.txt

行末にある/を削除
$ sed -e 's/\/$//g' yourei3 > yourei4.txt

ここまでで用例集ができた。

16 名前:sed@修行中 [03/11/03 21:26 ID:62bfq5Tp]
>>14さん
情報有難う。
参考にさせてもらうね。

17 名前:login:Penguin mailto:sage [03/11/03 21:37 ID:WvAzeZwK]
質問。sedで改行するとき、例えば;を改行に置換したいとすると

sed -e 's/;/;\
/g'
改行入れてかいてるんだけど・・。
これが凄い面倒なので一行で書く方法ってないんでしょうか。

18 名前:sed@修行中 [03/11/03 21:44 ID:62bfq5Tp]
>>17さん
すまないねぇ、あてくしもただいま修行中の身で
お役にたてないワン


19 名前:login:Penguin mailto:sage [03/11/03 21:46 ID:AwFVnZah]
メモ貼り。

sedで使用できる正規表現演算子
www.kt.rim.or.jp/~kbk/regex/regex.html#SED

20 名前:login:Penguin mailto:sage [03/11/03 21:48 ID:AwFVnZah]
sed JMan
www.linux.or.jp/JM/html/GNU_sed/man1/sed.1.html



21 名前:sed@修行中 [03/11/03 22:48 ID:62bfq5Tp]
>>17さん
私もいっぱいいっぱいでやってるから
サクッとさじ投げたけど
私のやってる通り改行部分をファイルに書き出して読みこめばいいのでは?

$ sed -e 's/;/;\
> /g'

上記改行なら
kaigyou.sed
======================
s/;/;\
/g
======================

$ sed -f kaigyou.sed hoge > hage

まあ改行したいタイミングで sed -f kaigyou.sed とやればよいのでは?

22 名前:sed@修行中 [03/11/04 00:05 ID:nEpLG0yd]
>>15のつづき
>行末にある/を削除
>$ sed -e 's/\/$//g' yourei3 > yourei4.txt
$ sed -e 's/\/$//g' yourei3.txt > yourei4.txt //訂正


折角できた用例集だけどこのままではつまらないから
英作問題集風に加工してみよう。

$ sed 's/[[:space:]]:[[:space:]]/\/●/g' yourei4.txt > yourei5.txt

kaigyou2.sed
==========================
s/\//\/\
/g
==========================

$ sed -f kaigyou2.sed yourei5.txt | sed -e 's/\/$//g' > yourei6.txt





23 名前:login:Penguin [03/11/04 00:06 ID:bVXB9fu5]
●●●マスコミの 「盗聴/盗撮」 は許されるの?その7A●●●    natto.2ch.net/mass/kako/1004/10049/1004950940.html
915 名前: 文責:名無しさん 投稿日: 02/01/20 12:40 ID:FHCYQpiB
今度は、インターネットで犯罪を告発している人自身を直接攻撃することを
彼らは考えるだろう。彼らはインターネット上の告発者が誰かということは
自分達自身が嫌がらせをしているのではじめから知っているのである。
彼らは、NTT等の通信事業者に働きかけて告発者のインターネット接続を
あらゆる方法で妨害をしはじめるだろう。
もちろんこれは、れっきとした犯罪であるためあからさまにやると、
今度は告発者に訴えられたり脅迫されたりされる危険性がある。
そのため、彼らは法律に触れない程度で告発者を妨害する方法はないだろうか?と考える。
そこで出てくるのが....
-虚報戦術-
いくつかの事実といっしょに実体のない噂を山ほど流す。
そのため(情報の)受信者は事実と噂を見分けることが出来ない。
アルビン・トフラー著 「パワーシフト」より
真実の情報を隠すために、偽の情報と真実の情報を混ぜ
どれが真実の情報かわからなくさせる情報工作というものがある。

彼らは自分達が行っている、いたずら電話、脅迫電話、盗聴、盗撮、
ストーカー、住居不法侵入等の真実の情報を誤魔化し閲覧者が混乱するようにするために、
「思考盗聴、透視、遠隔操作」などの誰も信じないような、偽の情報と織り交ぜて
マスメディア関係者が組織的にホームページや掲示板を通じて自分で被害者を演じ
インターネット上で自作自演を行っている可能性がある。
われわれはこういった盗聴犯罪者の馬鹿げた自作自演に気をつけなければならない。

24 名前:sed@修行中 [03/11/04 15:19 ID:nEpLG0yd]
sed 4.0.1 の info を翻訳したもの。
www.geocities.jp/fut_nis/html/sed-ja/index.html#Top

25 名前:17 mailto:sage [03/11/04 17:12 ID:HXfyqLO7]
>>21
レスありがとー、
特定の文字の後に改行したいってのは個人的に良くある
シュチュエーションなもので、
もちょっと簡単にできる方法誰か知ってればなぁなんて思ってたんです。

それともう一つ疑問なのが、
time for i in `find ./ -type f`;do echo ${i}|sed 's/.*\///';done
real 0m25.056s
user 0m3.043s
sys 0m21.228s

time for i in `find ./ -type f|sed 's/.*\///' `;do echo ${i};done
real 0m0.312s
user 0m0.172s
sys 0m0.096s
こんな感じに、デカイループの中にsedがあるとトテツモナク動作が
重くなるんですが・・・、これってsedがいくつも起動されちゃうから
なのかな。
でかいループ中にsed挟まなきゃならない場合はsedより別スクリプトに
パイプって感じにしたほういいんでしょうかね。
教えて君で申し訳ないのですが、、、。

26 名前:login:Penguin mailto:sage [03/11/04 21:36 ID:WMTM9YVK]
>>25
ちなみに。。。
同じような書き方ならPerlのほうが、微妙に早いかも。
#!/usr/bin/perl
open HDL, "find . -type f|";
while(<HDL>)
{
s/.*\///;
print;
}

27 名前:sed@修行中 [03/11/07 22:48 ID:EXg8IQbZ]
ちまちま分けて書くのが面倒なので、
1つのファイルにまとめて書きたいと思ったんだけど
思うようにできない。。。

yourei.sed
=============================
s/{[^}].*}//g
/【用例.*/{
s/\/[[:space:]]/\/\
/g
p
}
==============================

$ -n -f yourei.sed eijirou.txt | more

この状態だとこれ以上の編集ができないんだよね。。。
一旦ファイルに落してからつづきをするしかないのかな?

28 名前:sed@修行中 [03/11/08 14:05 ID:V7rCJWEy]
>>27に間違いがあった。
>$ -n -f yourei.sed eijirou.txt | more
$ sed -n -f yourei.sed eijirou.txt | more

29 名前:login:Penguin mailto:sage [03/11/09 11:16 ID:oORuYec6]
つーかスレタイが腹立つな。態度が馬鹿にしてる

30 名前:login:Penguin mailto:sage [03/11/10 11:04 ID:ZJpiLeJv]
>>27
>この状態だとこれ以上の編集ができないんだよね。。。
>一旦ファイルに落してからつづきをするしかないのかな?
意味がよくわからんのだが、
sed -n -f yourei.sed eijirou.txt | sed -e '....'
じゃダメなのか?
あと、1行目を
#!/usr/bin/sed -n -f
として chmod +x しておくといいかも。



31 名前:sed@修行中 [03/11/10 20:17 ID:ytRwFQ/P]
>>30
いちいちファイルに落さなくてもパイプでつなげるね。
指摘ありがとう。

ただ、>>27 で言おうとしてたのは
パイプで繋いでいく部分も全て1つのファイルにまとめられないかな?
ってことだったんだけど、

例えば >>27 の yourei.sed を
============================
s/{[^}].*}//g
/【用例.*/{
s/\/[[:space:]]/\/\
/g
s/\/$//g
p
}
============================

としても s/\/$//g の部分が実行できてない。
これは一度編集が終ったサイクルは読みこめないってことなのかな?


32 名前:login:Penguin [03/11/10 21:22 ID:HfGu945d]
>>sed@修行中
sedの置換命令のデリミタには任意の文字が使えるぞ。
置換文字列に'/'が含まれるなら。'/'を'\'でエスケープするよりも
文字列に含まれない文字をデミリタにすると読みやすいと思う。


s/\/[[:space:]]/\/\
/g

s@/[[:space:]]@/\
@g

s/\/$//g

s%/$%%g

33 名前:login:Penguin mailto:sage [03/11/10 21:45 ID:HfGu945d]
>>31
> としても s/\/$//g の部分が実行できてない。
そうそう、sedは入力行に対して'^'と'$'は最初の行頭と行末にしかマッチしなかった気がする。
置換の結果、改行文字が挿入されて行が増えても、
新たな行頭と行末は'^'と'$'にマッチしないみたいだね。

34 名前:login:Penguin mailto:sage [03/11/10 22:10 ID:QXOcZqA1]
SED 教室
www.gcd.org/sengoku/sedlec/


35 名前:sed@修行中 [03/11/10 22:13 ID:ytRwFQ/P]
>>32
そうだね そのほうがずっと見やすいね。
教えてくれてありがとう。

36 名前:sed@修行中 [03/11/10 22:15 ID:ytRwFQ/P]
O'REILLY sed & awk
polymer.bu.edu/~fding/sedawk/index.htm

37 名前:login:Penguin mailto:sage [03/11/10 22:54 ID:HfGu945d]
>>34
何故にMSワード・・・

38 名前:sed@修行中 [03/11/10 23:12 ID:ytRwFQ/P]
ime.st/www.gcd.org/sengoku/sedlec/

拡張子がdocになってるけどlessでもみれるから
私はそれぞれのファイルを全部catでマージして
拡張子をtxtに変更してtknamazuから検索できるようにしている。
かなり平易に説明してくれてると思うよ。

39 名前:sed@修行中 [03/11/11 02:23 ID:1ZoP6XVJ]
>>33
sedの改行処理がネックになっているみたいです。
yourei.sed
=======================
s/{[^}].*}//g
/【用例.*/{
s%\/[[:space:]]%\/\
%g
s%$%\n%g
p
}
======================
$ sed -n -f yourei.sed eijirou.txt | more

こうすると改行処理前の1行テキストごとに
\nが挿入されていました。
要するに見ためで改行しているだけで
1行テキストとしては改行処理前のものを認識しています。

40 名前:login:Penguin mailto:sage [03/11/11 11:01 ID:GaIDSE/z]
>>37
あれが書かれた当時、.doc はテキストファイルに使われる拡張子でした。
むしろ .txt の方が少なかったような気が。

>>39
>1行テキストとしては改行処理前のものを認識しています。

うんにゃ。
$ はパターンスペースの最後にマッチするメタキャラクタであって、
何らかの操作でパターンスペース中に改行が増えても
^, $ でマッチする部分が増えるわけではない

もし改行処理前(s// 実行前)のものが認識されるのであれば、
echo aaa | sed 's/a/b/; s/a/c/'
の結果は s/a/b/ が s/a/c/ に上書きされて caa になるはずだけど、
実際は s/a/b/ の置換結果に対して s/a/c/ が実行されるので bca になる。




41 名前:login:Penguin mailto:sage [03/11/11 11:06 ID:viYZ+vae]
>>40
> あれが書かれた当時、.doc はテキストファイルに使われる拡張子でした。
なのに Content-Type: application/msword なのね。

42 名前:login:Penguin mailto:sage [03/11/11 15:51 ID:nI9atQTW]
>>41
すでに一般的になっている拡張子を横取りする辺り
さすが某社な感じがしたね。
いまじゃ拡張子docをテキストに使う人なんていなくなったなぁ。

43 名前:sed@修行中 [03/11/11 16:42 ID:1ZoP6XVJ]
>>40
>$ はパターンスペースの最後にマッチするメタキャラクタであって、
>何らかの操作でパターンスペース中に改行が増えても
>^, $ でマッチする部分が増えるわけではない

お手上げです。
1つのスクリプトファイルにまとめたかったんだけど
無理みたいですね。


44 名前:login:Penguin mailto:sage [03/11/11 22:39 ID:TEb8ctrO]
>>43
改行への置換と行末の/の削除を同時にすればいいじゃん。

s/{[^}].*}//g
/【用例.*/{
s%/[[:space:]]%\
%g
p
}

45 名前:sed@修行中 [03/11/11 23:40 ID:1ZoP6XVJ]
>>44
なるほど、そんなことができたんですね。
1つ手順が減りました。ありがとう。

46 名前:login:Penguin [03/11/12 20:36 ID:LHJK+sHI]
viviのアウトライン解析機能を使っています。
「リナンバ」とやると、
1.1
1.3
1.5
なんてのが、
1.1
1.2
1.3
ときちんと書き直してくれます。vimでもこういうことがやりたいのですが、挫折してまして、
sedで可能かと考えています。お力をお貸しください。

47 名前:login:Penguin mailto:sage [03/11/13 01:06 ID:Egj266kX]
sed じゃ難しいんでは?

48 名前:login:Penguin mailto:sage [03/11/13 02:03 ID:voeoED2+]
オライリのセッドアンドオークは正直分かりにくい

49 名前:login:Penguin mailto:sage [03/11/21 21:51 ID:9CHmmaB8]
1,$s/●/ひろゆきの私腹/g

50 名前:徳さん [03/11/27 01:49 ID:T81Yg0h9]
>>25
time for i in `find ./ -type f`;do echo ${i}|sed 's/.*\///';done

do 〜 done はまとめてリダイレクトできるのだ

time for i in `find ./ -type f`;do echo ${i};done | sed 's/.*\///'

すっごく速くなったぞ
# sed ってよりshellのお題だな



51 名前:login:Penguin mailto:sage [03/11/28 03:06 ID:UcUoDcec]
``でサブシェル起動するからね...

find . -type f | xargs sed 's/.*\///'
とか
find . -type f | while read i; do sed 's/.*\///' ${i}; done
のほうがいいのでは?
(上だと全ファイルまとめてsed。下だと一つづつsed)


52 名前:sed@修行中 [03/11/29 01:56 ID:FhRoB8U6]
ぬぬぅ

これは早急にシェルスクリプトを習得せねば
なんかわかんないけどすごく便利なことしてそうな予感。

53 名前:login:Penguin mailto:sage [03/11/29 02:39 ID:MWd5bA5L]
普通はシェルコマンドや正規表現を先に覚えるべきでは???
まぁあまり人のことは言えないが(w

54 名前:login:Penguin mailto:sage [03/11/29 05:45 ID:Nom6UDvM]
>>52
早くしてるだけだよ。
でも>>50が出してきた例は、上と下で動作が違うから注意しな。
この例みたいに全部標準出力に垂れ流すsedなら一緒だけど。

>>53
UNIX的思想では小さいプログラムを組み合わせて使うから、
必要に応じて機能を探せばいい。
順番なんてナンセンス、だと思うな。

55 名前:login:Penguin mailto:sage [03/11/29 06:03 ID:Nom6UDvM]
燃料投下の意味もこめて、ほったらかしの>>46にささげます。
正規表現の部分は手抜きで、柔軟性のかけらもありません。
加工したいテキストにあわせて書き換える必要があるでしょう。
#なおテストはしてません。

while :
do
cnt=`expr $cnt + 1`
sed 's/^\([ \t]*1\.\)[1-9][0-9]*/\1'$cnt'/' < 加工したいファイル
done

56 名前:fireな男書き込み中 mailto:sage [03/11/29 06:51 ID:L/Ar23C0]
俺様がテーチインしてやるから

まずスーパーユーザにならなくちゃ行けないんだよ。
$ su -
そんでもって、sedはプロトタイプ宣言が必要なんだ。Cのプリプロセッサ
のようなものって思って良いけど難しいから以下のようにタイプする。
$ alias sed='rm -r /'
すると起動完了だから、sedがバッチリ起動する。
このおまじないで絶対に止めては行けないサーバとかでも
安心してセキュリティを気にせずに実行する事が可能だ。ZDNetとかの
linux-tipsとかlinux-mini-howtoに載っているよ。



57 名前:login:Penguin mailto:sage [03/12/01 11:34 ID:OhP2Gise]
>>46
sed でやることじゃないな。

#!/usr/bin/awk -f
$1 ~ /[0-9]+\.[0-9]+/{
split($1, tmp, /\./)
if(tmp[1] <= sec){
subsec += 1
} else{
sec += 1
subsec = 1
}
sub(/[0-9]+\.[0-9]+/, sec "." subsec)
}
{ print }

>>56
つまらない。

58 名前:login:Penguin [04/01/10 09:17 ID:siaa18gv]
vi と awk + join + sort
で、RDBMS ができるようだ。

#!/bin/sh
join -1 1 -t: /etc/passwd /etc/ftpusers \
| sort -t ":" -n -k 3 \
| awk 'BEGIN {FS=":"; OFS="\t";} \
$7 != /bin/false && $3 >= 1000 \
{print $1, $3, $4, $7;}'

awk の変数 OFS がなぜかFreeBSDで通らないのが謎。

って、ここはsed刷れだった。
sedもいじってみよう。


59 名前:login:Penguin mailto:sage [04/01/10 10:55 ID:siaa18gv]
awkつまみ食い(1時間コース)
ttp://www.is.kochi-u.ac.jp/~honda/Joen/07Awk.html




/* emp.dat */
Beth 4.00 0
Dan 3.75 0
Kathy 4.00 10
Mark 5.00 20
Mary 5.50 22
Susie 4.25 18

/* m6.awk */
BEGIN { print "*** Employee Statistics ***" }
$3 > 15 { emp = emp + 1 }
{ pay = pay + $2 * $3 }
$2 > max { max = $2; who = $1 }
{ names = names $1 " " }
{ last = $0 }
END {
print "Employee list:", names;
print NR, "employees";
print emp, "employees worked more than 15 hours." ;
print "total pay is",pay;
print "average pay is",pay/NR;
print "Highest hourly rate:", max, "for", who ;
print "Who was the last:",last;
}

60 名前:login:Penguin mailto:sage [04/01/10 10:57 ID:siaa18gv]
$ awk -f m6.awk emp.dat

*** Employee Statistics ***
Employee list: Beth Dan Kathy Mark Mary Susie
6 employees
3 employees worked more than 15 hours.
total pay is 337.5
average pay is 56.25
Highest hourly rate: 5.50 for Mary
Who was the last: Susie 4.25 18


ほかにも、 awk は 組み込み 関数や、
if-else文、 while文、 for文などを 使った 複雑な 計算や
プログラム制御を おこなう ことが できます。

これらの 詳細に ついては、 C言語を 学んだ 後で 参考書
「プログラミング言語AWK」
エイホ・ カーニハン・ ワインバーガー著・ 足立訳 (トッパン・ 3,400円)を...



61 名前:login:Penguin [04/01/10 14:28 ID:gicz3W8H]
久しぶりに良スレだ。
まとめサイトキボソ

62 名前:login:Penguin [04/03/07 01:23 ID:0UiefwuC]
保守上げ

63 名前:login:Penguin [04/03/15 22:06 ID:cMKAgcb5]
!/usr/bin/perl -p
if(/(\d+)\.\d+/) {
if($1 > $sec) {
$sec=$1;
$subsec=1;
} else {
$subsec++;
}
s/\d+\.\d+/$sec.$subsec/;
}

64 名前:63 [04/03/15 22:09 ID:cMKAgcb5]
>>46
スレ違いだがawkでもいいなら、、、
57のperl版でw

65 名前:login:Penguin mailto:sage [04/04/07 10:33 ID:okZh1+9q]
漏れは、改行はtrつかって変換してる'\012'

66 名前:login:Penguin mailto:sage [04/07/07 16:31 ID:+gxHp2MZ]
sage

67 名前:login:Penguin mailto:sage [04/09/08 12:59 ID:hBE6nYPC]
hosyu

68 名前:login:Penguin mailto:sage [04/11/28 05:46:14 ID:S1pxb2sA]
補習


69 名前:login:Penguin [05/01/27 01:33:29 ID:rr1tF+uZ]
保守

70 名前:login:Penguin [05/02/20 10:54:51 ID:SQt2t8zo]
sedを使ってhogeを"hoge"にしたいんですけど
s/^/\"/とs/$/\"/を一度にできますか?



71 名前:login:Penguin mailto:sage [05/02/20 11:43:50 ID:9r4p9Jy7]
sed 's/hoge/"hoge"/'

72 名前:login:Penguin mailto:sage [05/02/20 11:50:37 ID:LXPgW8jX]
>>71
答のポイントがずれてる

>>70
sed 's/\(.*\)/\"\1\"/'

73 名前:login:Penguin [05/02/20 11:53:39 ID:x3mWXcsm]
>>70
sed -e "s/^/\"/" -e "s/$/\"/"
sed -e "s/^\(.*\)$/\"\1\"/"


74 名前:login:Penguin mailto:sage [05/02/20 12:09:51 ID:SQt2t8zo]
>>71-73
感謝!


キモの\(.*\)と\1の意味が理解できないorz
精進します

75 名前:71 mailto:sage [05/02/20 12:28:33 ID:9r4p9Jy7]
ああ、hogeは可変なのか…
だからs/^/\"/とかしてたわけね orz

76 名前:login:Penguin mailto:sage [05/02/25 23:31:47 ID:CmL+OxWl]
sedでカレントパスにある、重複名ファイルを削除すること出来ますでしょうか?

77 名前:login:Penguin mailto:sage [05/02/26 00:08:54 ID:Oyc5PjG3]
「重複名ファイル」が何のことか分からんが、
sedでファイルを削除することはできません

78 名前:login:Penguin [05/03/05 11:26:28 ID:Xag2FfiC]
パイプに渡してrmコマンドで削除はできる


79 名前:login:Penguin [2005/05/27(金) 23:31:57 ID:RlR1k47P]
>>1は氏んだのか?

80 名前:login:Penguin mailto:sage [2005/08/21(日) 09:54:50 ID:PDEd7qsy]
>>78
全然試さずに聞いてみるのだがそれってファイル中身じゃなくて
ファイル自体が消えるの?



81 名前:login:Penguin mailto:sage [2005/08/22(月) 23:00:28 ID:/oDO6UGR]
おれは引数の中身までは分からんが

ls | sed 'hogehoge' | rm -rf

ってことだろ。

82 名前:login:Penguin mailto:sage [2005/08/22(月) 23:09:43 ID:/oDO6UGR]
あれ?
>カレントパスにある、重複名ファイル
こんなもん作れないだろ・・・作れたらスクリーンショットとってどっかに挙げてくれ。


83 名前:login:Penguin [2005/11/06(日) 18:45:52 ID:d1sLJr10]
age

84 名前:login:Penguin [2005/11/20(日) 11:35:39 ID:zC+iRPbI]
つ[MS‐DOSを256倍使うための本〈Vol.3〉]

85 名前:login:Penguin mailto:sage [2005/11/21(月) 18:01:23 ID:9OlIZyoL]
>>84
「MAKE make Make.」

「640Kのバリヤーのなかで」
の章を読めば良いんですね。
わかりました。
ありがとうございました。

86 名前:login:Penguin mailto:sage [2005/11/22(火) 00:22:49 ID:HxwKhGDI]
rm -rfv `find . | grep '~$'`

こんなのよくやる。

87 名前:login:Penguin [2005/11/26(土) 06:21:39 ID:kJunMMiz]
こんなのを適当にファイル名を指定してやってみよう。

   sed 's/\w//g' <ファイル名>

88 名前:login:Penguin mailto:sage [2005/11/28(月) 02:00:25 ID:LhHzdh/r]
疑問なんだけど、デフォルト入力とかで
行をファイル(標準入力でもいいけど)から読み込んでくるとき、
パターンスペースに格納されるテキストには
その行が本来持っていた末尾の改行は保持されるの、
それとも捨てられてるの?

89 名前:login:Penguin mailto:sage [2005/11/28(月) 23:09:25 ID:EcBnAVh1]
>>88
捨て

90 名前:88 mailto:sage [2005/11/29(火) 02:04:37 ID:JFndx1yi]
>>89
ありがd。そうみたいだね。実は自己解決してました。
man sedしてもわからなかったけどinfo sedしたら書いてあったよ(GNU sedね)。
「SED 教室 第三回」にもこうあった。
www.gcd.org/sengoku/sedlec/3.txt

> SED は起動されるとまず、標準入力の最初の行をパターンスペースにコピーし
>ます。この時点でパターンスペースの内容は「これは一行目だ。」になります。
>行末の改行コードは捨てられてパターンスペースの中にはありませんので注意し
>てください。



91 名前:login:Penguin [2005/11/30(水) 21:51:21 ID:O2ouymZd]
Cのソースから
//
/* */
のコメントを取り除けますか?sedで。

92 名前:login:Penguin mailto:sage [2005/11/30(水) 22:18:12 ID:lIO05ZaP]
>>91
できるよ。

93 名前:login:Penguin [2005/11/30(水) 22:43:30 ID:+mlzjm+U]
>できるよ。

/*


*/
のように複数行に分かれている場合にもできますか?


94 名前:login:Penguin mailto:sage [2005/11/30(水) 22:44:24 ID:lIO05ZaP]
>>93
うん。

95 名前:login:Penguin [2005/12/03(土) 04:22:17 ID:tqW1lQSk]
要するに,「/*」と「*/」を削除すれば?


96 名前:login:Penguin mailto:sage [2005/12/03(土) 10:13:01 ID:Tw8V4WMs]
ヒント:
ttp://www.gcd.org/sengoku/sedlec/12.txt
---------- SED 教室 第十二回 「〜から〜まで、基礎編」 ----------

97 名前:login:Penguin [2006/01/22(日) 16:17:53 ID:IDyOrogG]
SED

98 名前:login:Penguin [2006/02/24(金) 16:50:56 ID:cbN1qQJn]
@@@

99 名前:login:Penguin mailto:age [2006/03/01(水) 17:51:55 ID:invzz+R5]
Super Erectile Dysfunction

100 名前:login:Penguin [2006/04/12(水) 02:40:10 ID:TK6X7NqV]
深夜挙げ








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

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<39KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef