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

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

文字列の抽出

1 :名無しさん@お腹いっぱい。:2001/04/12(木) 20:10
perl を用いずに awk か sed のみを使用して、
あるテキストファイルからある正規表現にマッチした
文字列「のみ」を抽出させる方法ってあるでしょうか?
誰か教えてください!!

2 :名無しさん@お腹いっぱい。:2001/04/12(木) 22:08
#ターゲット語がなぜか"Class"(笑)

cat a | sed -e '/Class/!d' -e 's/[^s]*\(Class\)[^C]*/Class/g'

ここまでしか考え付きませんでしたm(__)m


3 :名無しさん@お腹いっぱい。:2001/04/13(金) 01:43
>perl を用いずに awk か sed のみを使用して、

テキストファイルからなら、grep,fgrep,egrep あたりで正規表現
使えなかったか?

4 :名無しさん@お腹いっぱい。:2001/04/13(金) 10:48
>>2だとClassの部分を一般的な正規表現に拡張できない気がします。

安易な方法。
sed -n 's/^.*\([Cc]lass\).*$/\1/gp' foo.c

これだと、1行にひとつずつしかマッチしない。むずい。

5 :名無しさん@お腹いっぱい。:2001/04/13(金) 11:44
おお、みなさんありがとう!! とりあえず各行で最初にマッチした
やつだけ抽出できればいいので、>>4 さんのアイデアをいただきまーす。
そうか、\[1-9] ってどう使うのかイマイチ分からないんですが、
こういう使い方もあるんですね。

6 :2:2001/04/13(金) 12:26
>>4
>一般的な正規表現に拡張できない

ええ。そうなんです。なので「ここまでしか」。
行の最初のマッチだけ取るならなんとかなるかもですけどね。

sedの中にあるもうひとつのなんたらバッファ
(もう名前忘れちゃったなあ)を使うと、なんとかなりませんかね。
マッチした部分を逐一そのなんたらバッファにアペンドするとか。


マッチの判定をするまでは良いんだが、
その後どう料理したもんか悩んじゃうもの2つ=正規表現とSQL(ぉ

7 :ななしさん@でぶぬる:2001/04/13(金) 13:05
awkでいいんじゃない。
べたな方法だとindex関数とsubやsubstrk関数使えば出来そうな気がする。
http://www.kt.rim.or.jp/%7ekbk/gawk-30/gawk_13.html

8 :名無しさん@お腹いっぱい。:2001/04/13(金) 15:02
1 ですが、gawk が使えたらよかったんですが、gawk がない場合も
想定していたもので。ただの awk だといろいろと大変です。

9 :通りすがりのNE:2001/08/08(水) 00:07
すまん
最近話題のCodeRedだが
Apacheのログから

NNNN...NNN
XXXX...XXX

って邪魔なのを消して
IPもしくはドメイン
だけにしたいのだけど…

cat /var/log/access_log |grep NNN > codered.txt
cat /var/log/access_log |grep XXX > codered2.txt

そこからどーしたらいいでしょう?
codered.txtからNを空白に
codered2.txtからXを空白に置換したいのですが

10 :名無しさん@お腹いっぱい。:2001/08/08(水) 00:19
awk '/NNNNNNN|XXXXXXX/{print $1}' access_log

11 :ヴァカNE:2001/08/08(水) 00:36
さすが2ch!
ってawkか…(T_T)
インストールしなきゃ

とにかく、ありがとう!!!

12 :ヴァカNE:2001/08/08(水) 15:28
あのぉ・・・重複したIPとドメインを1つにするにはぁ・・・・・・・

すみません出直します(つーかなんでこなんなに攻撃して来るんだよぉ)

13 :名無しさん@お腹いっぱい。:2001/08/08(水) 16:47
>>11
awk がインストールされてないマシンって何よ?

>>12
awk '/NNNNNNN|XXXXXXX/{print $1}' access_log | sort | uniq -c

14 :sage:2001/08/08(水) 18:39
>>12
grep default.ida access_log | cut -d " " -f 1 | sort | uniq

15 :ヴァカNE:2001/08/08(水) 21:51
すんません、私のミスでした(AWK)
入れてないと思ったら入ってた(あーつくづくヴァカでーす)

みなさん、どこでそれらの技を覚えるんでしょうか?
MANだけでできるとは思えないのですが…
つーか私がヴァカなだけなんでしょうか?
なんか、2ch見るたびに実力の無さをつくづく。。。

いや、始めから無いのか
無くてもこんな仕事をたまたましているのか
ああひらきなおりー♪

っていきたいものですが
鬱に鳴ります。。。T_T

16 :あげ侍:2001/08/10(金) 02:30
晒し上げ

17 :底名無し沼さん:2001/08/10(金) 02:55
>>15
カーニハンその他「UNIXプログラミング環境」アスキー出版

18 :sage:2001/08/10(金) 04:41
AWK256倍...って売ってるのかな..

19 :名無しさん@お腹いっぱい。:2001/08/10(金) 09:25
「プログラミング言語AWK」トッパン
エイホ/カーニハン/ワインバーガー

# pealがありゃ、awkなんていらねぇってか?

20 :名無しさん@コード抜いたらハワイのミポリソ燃え:2001/08/10(金) 09:32
>>19
pealって何か新種のスゴイスクリプト言語?

21 :ミポリソ信者萎え:2001/08/10(金) 09:52
realbasic + perl = peal

# く・苦しい・・・

22 :通行人B:2001/08/10(金) 10:45
入門UNIXシェルプログラミング:ソフトバンク

そこそこいいですよ。

23 :名無しさん@お腹いっぱい。:2001/08/10(金) 20:21
>>17
初版あたりのは、誤字がひどいです。
sed=ストリートエディター 等

24 :名無しさん@お腹いっぱい。:2001/08/10(金) 20:37
>>23
駅前で s/foo/bar/g〜 とか歌ってる輩を想像。
鬱だ。

25 :名無しさん@お腹いっぱい。:2001/08/11(土) 04:04
Googleの検索はやたら早いけど、どうなってるのかな?

26 :名無しさん@お腹いっぱい。:2001/08/11(土) 22:44
awkとかsedの技がいっぱいのってるページはないものか

27 :ヴァカNE:2001/08/12(日) 11:50
意外と少ないね…

つーか、便利なコマンド集ってどっか出してないの?

28 :名無しさん@お腹いっぱい。:2001/08/12(日) 14:05
今手元に無いが、grep/sed/awkが1冊にまとまってる本がある。

29 :名無しさん@XEmacs:2001/08/12(日) 14:26
>28

「実習 UNIX シェル 第2版」 っていうのを今読んでいる
のだけどちょうどそんな感じダターヨ

30 :名無しさソ:2001/08/12(日) 15:13
>>25
マシーンいっぱい並べてゴリゴリやっているらしい。

31 :名無しさん@お腹いっぱい。:2001/08/12(日) 15:30
>>30
http://www.intel.co.jp/jp/eBusiness/casestudies/snapshots/google.htm

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

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

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