PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tar und find/grep: Syntax /beispiele?



cesco
30.08.04, 15:20
Hi. Ich suche schon lange....weil ich aus den für mich kryptischen Bespielen von commands nicht das Richtige herauslesen kann. Vielleicht gibt ein oder zwei Wissende mit einem hilfreichen Tipp.

1. Ich möchte in bestimmten Verzeichnissen alle Dateien nach einer Zeichenfolge durchsucht haben und möchte den Namen der Dateinen, in denen das Gesuchte gefunden wurde, als Ergebnis angezeigt haben. find oder grep oder Kombi? Ganz genau: Zeige mir alle Dateien in dem Verzeichnis "meier" (und den darunterliegenden) an, die die Zeichenfolge "web" haben.
Geht das (wohl klar - aber wie)?

2, Ich möchte ein bestimmtes Verzeichnis mit seinen Unterverzeichnissen mit tar packen, auf einen neuen rechner übertragen und wieder entpacken. Dabei sollen die Rechte und Inhaber "mitgenommen" werden. Also ein 1:1 Abbild. Kann tar das (packen und entpacken)? Wohl auch klar - aber wie?
Dank im Voraus.

carnil
30.08.04, 15:28
1. Ich möchte in bestimmten Verzeichnissen alle Dateien nach einer Zeichenfolge durchsucht haben und möchte den Namen der Dateinen, in denen das Gesuchte gefunden wurde, als Ergebnis angezeigt haben. find oder grep oder Kombi? Ganz genau: Zeige mir alle Dateien in dem Verzeichnis "meier" (und den darunterliegenden) an, die die Zeichenfolge "web" haben.
Geht das (wohl klar - aber wie)?
So vielleicht:


find /pfad/den/du/dursuchen/moechtest|grep -i web


2, Ich möchte ein bestimmtes Verzeichnis mit seinen Unterverzeichnissen mit tar packen, auf einen neuen rechner übertragen und wieder entpacken. Dabei sollen die Rechte und Inhaber "mitgenommen" werden. Also ein 1:1 Abbild. Kann tar das (packen und entpacken)? Wohl auch klar - aber wie?
Dank im Voraus.
Hmm, dazu ist wohl die Option -p


-p, --same-permissions, --preserve-permissions
ignore umask when extracting files (the default for root)

nötig

MfG carnil

cesco
30.08.04, 15:44
Sauber! find ... grep funktioniert tadellos! Danke.

zu Tar: (nicht für blöd halten). ich habe das immer mit tar zcvf Name.tar.gz /Verzeichnis getan. Dazu jetzt ein p: tar zcvfp ? - also dein -p so eingebaut?

carnil
30.08.04, 15:48
Sauber! find ... grep funktioniert tadellos! Danke.

Bestens


zu Tar: (nicht für blöd halten). ich habe das immer mit tar zcvf Name.tar.gz /Verzeichnis getan. Dazu jetzt ein p: tar zcvfp ? - also dein -p so eingebaut?

Mache es mit der Option p vor dem f, imho denke ist das richtig ... also

tar zcvpf archiv.tar.gz $DASWASREINSOLL

MfG carnil

cesco
30.08.04, 17:04
Vorab - nicht das du denkst - ich antworte nicht.... er hat getart und übertragt gerade auf den neuen rechner. das braucht... gebe ergebnis und Dank hier bekannt.

cesco
30.08.04, 18:17
Befor es mich dann zerschmirgelt... das entpacken habe ich sonst mit tar xzf archiv.tar.gz gemacht. Hat das -p dann hier auch eine Bedeutung? Wenn ja: in welcher Folge zu setzen?

peschmae
30.08.04, 18:40
find brauchst du bei dem Grep-Beispiel nicht wirklich. Grep kann das auch alleine:
grep -R text .
Sucht rekursiv im aktuellen Verzeichnis (.) nach "text"

MfG Peschmä

carnil
30.08.04, 18:41
Hi

Entpacken dann einfach mit "tar -zxvf deinarchiv.tar.gz" (wenn mich nicht alles täuscht, bitte dies noch beachten ;))

Teste doch sonst mal das ganze mit einem Beispielarchiv, i.e. du erzeugst dir auf deinem Quellrechner, ein Archiv, dass du mit der -p Option gepackt hast, kopierst dann es auf deinen Zielrechner, und probierst, bevor du das ganze dann mit den "wichtigen/richtigen" Archiv machst.

MfG carnil

cesco
30.08.04, 18:44
Hat alles Bestens geklappt! Danke

quinte17
30.08.04, 22:06
kleine find einweisung *gg*:

find . -name "*web*" -type f
listet alle dateien im aktuellen verzeichnis und unterverzeichnissen, die das wort web enthalten.

find . -name "*.tar.gz" -type f -exec tar xvfz {} \;
entpackt alle tar.gz dateien im aktuellen verzeichnsi und unterverzeichnissen, ist vor allem praktisch, wenn man keine unterverzeichnisse hat ^^

wenn du -type f rauslässt findest du auch ordner...
wenn du -type d stattdessen nimmst, werden NUR ordner gefunden...

greetz