grep

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Valdez
Beiträge: 554
Registriert: 08.05.2008 14:15:23
Wohnort: Tirol
Kontaktdaten:

grep

Beitrag von Valdez » 05.11.2010 23:44:04

ich bin im /root verzeichnis

und ich will mit grep im inhalt von der .bash_history nach allen "apt-get install" befehlen suchen...

ich gebe dazu ein:

Code: Alles auswählen

root@debianX1:~# grep -l -i apt-get .bash_history 
.bash_history
root@debianX1:~# 

aber wie man sieht kommt nur die zeile ".bash_history" ...
was mache ich falsch oder was wird bei meinem befehl ausgegeben ?

:idea: ?
<<its like 10.000 spoons when all you need is a knife>>

Benutzeravatar
Valdez
Beiträge: 554
Registriert: 08.05.2008 14:15:23
Wohnort: Tirol
Kontaktdaten:

Re: grep

Beitrag von Valdez » 05.11.2010 23:46:16

ich habs ...

Code: Alles auswählen

oot@debianX1:~# grep "apt-get install" .bash_history 
apt-get install vim
apt-get update
apt-get update
apt-get install x-window-system-core kdm
apt-get install x-window-system-core kdm alsa binutils build-essential 
apt-get install x-window-system-core kdm alsa binutils build-essential 
apt-get install phonon libasound2
apt-get install amarok vlc kaffeine
apt-get install ama
=)
so jetzt geh ich ins bett bevor mir noch sonstwas einfällt g
Zuletzt geändert von Valdez am 22.11.2010 17:48:00, insgesamt 1-mal geändert.
<<its like 10.000 spoons when all you need is a knife>>

jmittendorf
Beiträge: 64
Registriert: 07.11.2007 08:56:30

Re: grep

Beitrag von jmittendorf » 06.11.2010 19:56:35

Valdez hat geschrieben:ich habs ...

Code: Alles auswählen

oot@debianX1:~# grep apt-get .bash_history 
apt-get install vim
apt-get update
apt-get update
apt-get install x-window-system-core kdm
apt-get install x-window-system-core kdm alsa binutils build-essential 
apt-get install x-window-system-core kdm alsa binutils build-essential 
apt-get install phonon libasound2
apt-get install amarok vlc kaffeine
apt-get install ama
Mit dem Parameter -i funktioniert es auch. Warum der Parameter -l nicht funktioniert habe ich noch nicht heraus bekommen.

Code: Alles auswählen

debian:~# grep apt-get -i .bash_history
apt-get install ssh
apt-get install mc
apt-get install phpmyadmin
apt-get dist-upgrade
apt-get update
debian:~#

Gruß Jörg

gxyz
Beiträge: 202
Registriert: 26.07.2010 13:54:21
Lizenz eigener Beiträge: MIT Lizenz

Re: grep

Beitrag von gxyz » 06.11.2010 21:02:32

jmittendorf hat geschrieben: Mit dem Parameter -i funktioniert es auch. Warum der Parameter -l nicht funktioniert habe ich noch nicht heraus bekommen.
"grep -l <pattern>" gibt die Namen aller Dateien, aus, in denen <pattern> gefunden wurde (was es ja offensichtlich auch getan hat) ...

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: grep

Beitrag von uname » 06.11.2010 21:07:28

Cool. Wusste gar nicht, dass es das gibt. Nett sind übrigens auch noch die Parameter A und B.

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: grep

Beitrag von Meillo » 07.11.2010 16:27:27

jmittendorf hat geschrieben: Warum der Parameter -l nicht funktioniert habe ich noch nicht heraus bekommen.
Haettest du in die Manpage geschaut, dann haettest du es sofort rausbekommen. RTFM!
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13955
Registriert: 09.04.2008 12:48:59

Re: grep

Beitrag von hikaru » 07.11.2010 19:33:39

uname hat geschrieben:Nett sind übrigens auch noch die Parameter A und B.
Ja, das sind sie, nur leider haben sie in Verbindung mit -v ein zwar logisches aber eher unvorteilhaftes Verhalten.

Beispiel:
Ich mache ein grep auf "foo" und will auch die drei nächsten Zeilen haben:

Code: Alles auswählen

grep foo DATEI -A 3
Wenn ich hingegen alle Zeilen außer (jene mit "foo" und die drei nachfolgenden)* haben will, dann geht das nicht:

Code: Alles auswählen

grep -v foo DATEI -A 3
*) Die Klammern dienen hier zur logischen Gruppierung.

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: grep

Beitrag von uname » 08.11.2010 08:50:47

Das liegt wohl daran, dass "grep" nicht wirklich mächtig ist.

Du kannst aber das normale grep-Ergebnis in eine Datei schreiben und dann wiederum mit diff vergleichen. Leider weiß ich nicht wie man "diff" sagen kann diese dummen Zeileninformationen und "<" zu unterdrücken. Aber schön ist es so nicht.

Code: Alles auswählen

diff --left-column org.txt grep.txt |egrep "^<" |sed 's/^< //'

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: grep

Beitrag von Meillo » 08.11.2010 15:06:23

uname hat geschrieben:Das liegt wohl daran, dass "grep" nicht wirklich mächtig ist.
Das ist Ansichtssache. Ich wuerde, ganz im Gegensatz, sagen, dass GNU grep (mit -A, -B, -C und aehnlichem) *zu maechtig* ist. Daher kommen solche Probleme.
Use ed once in a while!

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: grep

Beitrag von Colttt » 09.11.2010 10:33:53

kann mir evtl jmd sagen warum das nicht geht?

Code: Alles auswählen

grep -ie '(mhz|ghz)' /proc/cpuinfo
bzw

Code: Alles auswählen

 grep -i '(mhz|ghz)' /proc/cpuinfo
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
hikaru
Moderator
Beiträge: 13955
Registriert: 09.04.2008 12:48:59

Re: grep

Beitrag von hikaru » 09.11.2010 10:46:48

Colttt hat geschrieben:kann mir evtl jmd sagen warum das nicht geht?

Code: Alles auswählen

grep -ie '(mhz|ghz)' /proc/cpuinfo
Da fehlen Escape-Zeichen:

Code: Alles auswählen

grep -ie '\(mhz\|ghz\)' /proc/cpuinfo

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: grep

Beitrag von ThorstenS » 09.11.2010 10:49:41

Benutze egrep - dann gehts auch ohne Klammern/Sonderzeichen zu escapen: egrep -i '(mhz|ghz)' /proc/cpuinfo

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: grep

Beitrag von Colttt » 09.11.2010 11:20:00

@hikaru: danke hat so geklappt.. ;) gibts evtl noch ne möglichkeit??
ThorstenS hat geschrieben:Benutze egrep - dann gehts auch ohne Klammern/Sonderzeichen zu escapen: egrep -i '(mhz|ghz)' /proc/cpuinfo
ist egrep nicht das selbe wie grep -e ??
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
hikaru
Moderator
Beiträge: 13955
Registriert: 09.04.2008 12:48:59

Re: grep

Beitrag von hikaru » 09.11.2010 11:24:16

Colttt hat geschrieben:@hikaru: danke hat so geklappt.. ;) gibts evtl noch ne möglichkeit??
Brauchst du denn wirklich die GHz? Ich kann mich nicht erinnern in /proc/cpuinfo schon mal GHz gesehen zu haben.
Colttt hat geschrieben:ist egrep nicht das selbe wie grep -e ??
Nein, egrep ist grep -E

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: grep

Beitrag von Colttt » 09.11.2010 11:47:16

Nein, egrep ist grep -E
aso, meinte ich ja, danke ;)
Brauchst du denn wirklich die GHz? Ich kann mich nicht erinnern in /proc/cpuinfo schon mal GHz gesehen zu haben.
ähm naja ich wollte die tatsächliche zahl haben und die aktuelle ;)

Code: Alles auswählen

grep -iE '(mhz|ghz)' /proc/cpuinfo
model name      : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz
cpu MHz         : 1995.316
model name      : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz
cpu MHz         : 1995.316
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
hikaru
Moderator
Beiträge: 13955
Registriert: 09.04.2008 12:48:59

Re: grep

Beitrag von hikaru » 09.11.2010 12:43:39

Colttt hat geschrieben:ähm naja ich wollte die tatsächliche zahl haben und die aktuelle ;)
Die tatsächliche und die aktuelle? :?
Colttt hat geschrieben:Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
Das ist nur ein Label und hat nichts mit der Taktrate zu tun. Wenn du die Maschine z.B. auf 2,4GHz übertaktest steht da trotzdem noch 2.00GHz.

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: grep

Beitrag von Colttt » 09.11.2010 12:48:08

du hast recht, sorry umständlich ausgedrückt.. mit tatsächlich meinte ich die eigentliche "normale" taktrate ;)
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
hikaru
Moderator
Beiträge: 13955
Registriert: 09.04.2008 12:48:59

Re: grep

Beitrag von hikaru » 09.11.2010 12:59:00

Diese Angabe haben aber nicht alle CPUs im Label, also solltest du dich auf diese Ausgabe nicht verlassen..

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: grep

Beitrag von Colttt » 09.11.2010 13:00:35

mach i ja auch nicht, hab ja vorher nachgeguckt gehabt.. ;)

Aber trotzdem danke für die info
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: grep

Beitrag von Meillo » 09.11.2010 14:11:18

Colttt hat geschrieben:gibts evtl noch ne möglichkeit??
Klar, und die funktioniert mit allen greps:

Code: Alles auswählen

grep '[mg]hz' /proc/cpuinfo
Use ed once in a while!

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: grep

Beitrag von ThorstenS » 09.11.2010 14:15:34

Colttt hat geschrieben:ähm naja ich wollte die tatsächliche zahl haben und die aktuelle ;)

Code: Alles auswählen

root@debian: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 
oder
root@debian: cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_*_freq

Antworten