Sida 1 av 1
awk vs sed
Postat: 04 mar 2007, 15:12
av Emil.s
Båda används väl som "grep"? Men mer avancerat...
Men vad är skillnaden? Vilket borde man lära sig?
Känner att "grep" inte riktigt räcker alla gånger

SV: awk vs sed
Postat: 04 mar 2007, 16:35
av mcNisse
Jag vill säga att bägge går att använda som grep. Sed har inga variabler och kan modifirera texten mha reguljära uttryck. awk är mer avancerat och har variabler och funktioner.
Jag tycker att bägge är värt att lära sig. Programmen komletterar varandra bra. Svårigheten med bägge är att lära sig reguljära uttryck.
Personligen använder jag sed när jag ska byta ut text i filer och awk när jag vill omstrukturera filer/resultat av vissa program. Eller för att beräkna förekomster av vissa ord i filer.
SV: awk vs sed
Postat: 04 mar 2007, 16:51
av Emil.s
Några användningsområden jag tänkt mig är tex:
Kod: Markera allt
eth0 Link encap:Ethernet HWaddr 00:30:05:69:01:45
inet addr:10.0.0.5 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:77373183 errors:0 dropped:0 overruns:0 frame:0
TX packets:78896861 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2786693131 (2.5 GiB) TX bytes:1436195710 (1.3 GiB)
Interrupt:16 Base address:0x3000
Här skulle jag tilja ha ut tex enbart IP adressen. (10.0.0.5)
Kod: Markera allt
Mar 1 13:03:13 servern sshd[14365]: Accepted password for emil from 10.0.0.1 port 52486 ssh2
Mar 1 13:03:13 servern sshd[14369]: (pam_unix) session opened for user emil by (uid=0)
Mar 1 16:21:46 servern sshd[14438]: Accepted password for emil from 10.0.0.1 port 49172 ssh2
Mar 1 16:21:46 servern sshd[14442]: (pam_unix) session opened for user emil by (uid=0)
Mar 1 16:21:46 servern sshd[14442]: subsystem request for sftp
Mar 1 16:22:53 servern sshd[14444]: Accepted publickey for emil from 10.0.0.9 port 49174 ssh2
Av detta an lista som typ:
"emil" loggade in från x.x.x.x Mar 1 16:22:53
Vad skulle ni använda för det?
SV: awk vs sed
Postat: 04 mar 2007, 18:36
av johanre
Emil.s skrev:
Några användningsområden jag tänkt mig är tex:
Kod: Markera allt
eth0 Link encap:Ethernet HWaddr 00:30:05:69:01:45
inet addr:10.0.0.5 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:77373183 errors:0 dropped:0 overruns:0 frame:0
TX packets:78896861 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2786693131 (2.5 GiB) TX bytes:1436195710 (1.3 GiB)
Interrupt:16 Base address:0x3000
Här skulle jag tilja ha ut tex enbart IP adressen. (10.0.0.5)
http://ubuntu-se.org/smf/index.php/topi ... l#msg24343 &
http://ubuntu-se.org/smf/index.php/topi ... l#msg26683
Emil.s skrev:
Kod: Markera allt
Mar 1 13:03:13 servern sshd[14365]: Accepted password for emil from 10.0.0.1 port 52486 ssh2
Mar 1 13:03:13 servern sshd[14369]: (pam_unix) session opened for user emil by (uid=0)
Mar 1 16:21:46 servern sshd[14438]: Accepted password for emil from 10.0.0.1 port 49172 ssh2
Mar 1 16:21:46 servern sshd[14442]: (pam_unix) session opened for user emil by (uid=0)
Mar 1 16:21:46 servern sshd[14442]: subsystem request for sftp
Mar 1 16:22:53 servern sshd[14444]: Accepted publickey for emil from 10.0.0.9 port 49174 ssh2
Av detta an lista som typ:
"emil" loggade in från x.x.x.x Mar 1 16:22:53
Vad skulle ni använda för det?
Python ...

Men visst, awk skulle lämpa sig utmärkt för det.
SV: awk vs sed
Postat: 04 mar 2007, 20:57
av Emil.s
Även detta funkar bra för IP'n:
`/sbin/ifconfig eth0 |sed -n '/inet/s/^[ ]*inet addr:\([0-9.]*\).*/\1/p'`
Så man kan nog använda det man själv gillar...

SV: awk vs sed
Postat: 07 apr 2007, 14:40
av marwal
Den stora skillnaden kommer när man ska använda sig av kommandon från BASH. Då är enklare att använda sed. awk vill gärna krångla med quotes och kräver en del speciallösningar.
Man ska heller inte glömma cut och tr som i många fall kan ersätta krångligare sed eller awk kommandon.
Jag har täckt awk, sed, cut, tr, grep, cat en del i artiklarna :
Textbehandling
Bokstavspar frekvens
på min hemsida.