[gelöst] Bestimmte Werte in einer Datei suchen und ausgeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
blueflidge
Beiträge: 1414
Registriert: 31.01.2005 10:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Bonn

[gelöst] Bestimmte Werte in einer Datei suchen und ausgeben

Beitrag von blueflidge » 06.03.2008 10:12:13

Hallo,

ich suche eine Möglichkeit, mit aus einer ca. 4000 Zeilen langen Style-Datei (css) nur die Farbwerte (#FFFFFF) auszugeben.
Und von doppelten Werten soll auch jeweils nur ein Wert ausgegeben werden.

Ist sowas ohne großen Aufwand möglich?
Zuletzt geändert von blueflidge am 03.04.2008 16:07:46, insgesamt 1-mal geändert.
Beste Grüße
Tamara
The Debian Women Project

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 06.03.2008 10:26:18

Hört sich auf den ersten Blick nach awk/sed/egrep an und anschließend noch ein uniq drüber laufen lassen.

Wie ist denn der Aufbau der css Datei bzw. was steht vor/hinter den Farbwerten?
Oh, yeah!

Benutzeravatar
blueflidge
Beiträge: 1414
Registriert: 31.01.2005 10:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Bonn

Beitrag von blueflidge » 06.03.2008 10:45:38

Duff hat geschrieben:Hört sich auf den ersten Blick nach awk/sed/egrep an und anschließend noch ein uniq drüber laufen lassen.

Wie ist denn der Aufbau der css Datei bzw. was steht vor/hinter den Farbwerten?
Hallo Duff,
was vor den Farbwerten in der Zeile steht ist immer anders; hinter dem Farbwert kommt aber direkt immer ein Semikolon.
Beste Grüße
Tamara
The Debian Women Project

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 06.03.2008 10:49:30

Ok, ein Beispiel wäre hilfreich.
Dann könnte man mal was probieren.
Oh, yeah!

Benutzeravatar
blueflidge
Beiträge: 1414
Registriert: 31.01.2005 10:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Bonn

Beitrag von blueflidge » 06.03.2008 10:53:33

Die häufigsten Vorkommen in der Datei sind nach dem Muster:

Code: Alles auswählen

	color: #000000;
	background-color: #FFFFFF;
Allerdings immer mit anderen Farbwerten.
Dann gibt es noch Zeilen, die so oder ähnlich aussehen:

Code: Alles auswählen

	border-bottom: 1px solid #CCCCCC;
Beste Grüße
Tamara
The Debian Women Project

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 06.03.2008 10:56:40

So?

Code: Alles auswählen

grep -oE "#[[:xdigit:]]{6}" style.css | uniq

Benutzeravatar
blueflidge
Beiträge: 1414
Registriert: 31.01.2005 10:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Bonn

Beitrag von blueflidge » 06.03.2008 10:59:11

Spasswolf hat geschrieben:So?

Code: Alles auswählen

grep -oE "#[[:xdigit:]]{6}" style.css | uniq
Hallo Spasswold,
werd ich mal probieren. Danke!
Beste Grüße
Tamara
The Debian Women Project

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 06.03.2008 11:14:39

Oder so...

Code: Alles auswählen

sed -ne 's/^.*\(#[A-Za-z0-9]\{6\}\);.*$/\1/p' datei(en) | uniq
..wobei die Variante mit egrep "schöner" ist.

(ungetestet)

[edit]

Code: Alles auswählen

[[:xdigit:]]
	"[[:xdigit:]]"  -   Repräsentiert irgendein hexadezimales Zeichen ("0123456789ABCDEF"). "[^[:xdigit:]]" hingegen repräsentiert ein nicht hexadezimales Zeichen.
[/edit]
Oh, yeah!

Antworten