Veröffentlicht 19. Dezember 200321 j Hallo, ich brauch mal nen Tip. Ich bin absoluter Linus-Neuling (2Tage installiert und schon mind 10mal abgeschmiert) Ich muss ein Shell-Script programmieren, das folgendes kann: Es soll alle Dateien in einem verzeichnis durchsuchen, ob das Wort "Linux" drin ist und wenn ja, dann an die Datei die Endung *.lx dranhängen. Bin mittlerweile so weit, dass ich weiß, dass ich grep einsetzen muss, aber wie würde so ein fertiges Script ausschauen? Plz help. Gruß
19. Dezember 200321 j Hallo, soll in der Datei das Wort Linux vorkommen oder im Dateinamen? Und wie sieht es mit dem Verzeichnis aus, enthält das auch Unterverzeichnisse? Nic
19. Dezember 200321 j Hallo, und wie soll der String aussehen? Ist wirklich ausschließlich "Linux" gemeint oder auch dieses: LiNuX linux LinuX Was ich damit meine - ist die Groß- und Kleinschreibung egal?
19. Dezember 200321 j Hallo, find /home/user -type f -maxdepth 1 -exec bash -c "grep -i Linux {} && mv {} {}.lx" \; Sucht nach Dateien im Verzeichns /home/user (nicht in Unterverzeichnissen) mit dem Inhalt Linux (Groß- und Kleinschreibung egal), und benennt dieses in die Endung .lx um. Anpassungen entsprechend. Gruß Terran Marine
19. Dezember 200321 j Hallo, um die Ausgabe ein wenig einzudämmen, sollte man bei grep noch die Option "-l" mitverwenden (da ansonsten jede einzelne Zeile, in der der String vorkommt, auf dem Bildschirm ausgegeben wird. "-l" beschränkt die Ausgabe auf den Dateinamen). Nic
19. Dezember 200321 j Erstmal danke für eure hilfen. KLappt zwar noch nicht ganz (kleiner Error), aber das krieg ich schon noch hin. ansonsten geh ich jetzt erstmal in wohlverdienten Winterurlaub => 3 Wochen *juhuuuuu* Ciao
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.