Welche grep Version?
Welches OS?
Welche Shell?
Warum muß man euch sowas immer aus der Nase ziehen?
Hallo zusammen!
habe ein Problem im u. s. Skript...
Sobald ich es ausführe bekomme ich die Meldung:
grep: illegal option -- o
Usage: grep -hblcnsviw pattern file . . .
kein gzip
Ich möchte, dass das Skript erkennt sobald eine Datei mit dem Format .gz eingegeben wurde und dementsprechend handelt (siehe Skript)
Wer kann mir mit seinem Shell-KnowHow weiterhelfen?!?![]()
Danke!
echo "Bitte geben Sie den Dateinamen ein: "
read Dateiname
echo "Bitte geben Sie den Namen der Zieldatei ein: "
read Dateiname2
TYP="$(file date|grep -o gzip )"
if [ -z "$TYP" ]
then
echo "kein gzip"
typeset -i i=1
while (( i <= 8 ))
do
grep ${array[i]} $Dateiname >> $Dateiname2.csv
i=i+1
done
grep $Dateiname |sed -ne '/4FBNAV000060/;/4FBTCP006520/p' >> $Dateiname2.csv
grep $Dateiname |sed -ne '/4FBCHK000611/;/4FBNAV000092/p' >> $Dateiname2.csv
else
echo "File ist $TYP"
typeset -i i=1
while (( i <= 8 ))
do
zgrep ${array[i]} $Dateiname >> $Dateiname2.csv
i=i+1
done
zgrep $Dateiname |sed -ne '/4FBNAV000060/;/4FBTCP006520/p' >> $Dateiname2.csv
zgrep $Dateiname |sed -ne '/4FBCHK000611/;/4FBNAV000092/p' >> $Dateiname2.csv
fi
echo
echo "Die Logfileanalyse ist beendet. Das Ergebnis finden Sie in der Datei: $Dateiname2.csv"
echo "-------------------------------------------------------------------------------"
echo
|
Das Linux-Firewalls Standardwerk jetzt 71% billiger – Nur solange Vorrat reicht DAS Firewall-Buch jetzt günstiger! Security-Fachmann Ralf Spenneberg führt mit diesem Buch
|
Welche grep Version?
Welches OS?
Welche Shell?
Warum muß man euch sowas immer aus der Nase ziehen?
"Nicht alles, was vorstellbar ist, darf auch politisch gangbar gemacht werden. Es gelten die Grenzen des Grundgesetzes. Die lassen sich nicht überspringen wie ein Gartenzaun." - Frank-Walter Steinmeier (SPD), Stern Nr. 31/2007 vom 26. Juli 2007, S. 40
--
Kein Support via PN oder IM. Eine Kostenpauschale in Höhe von 35,00 EUR wird dennoch erhoben.
Das scheint ein Geheimnis zu sein.
Die ganze Problematik findet sich ein paar Threads weiter unten:
http://www.unixboard.de/vb3/showpost...9&postcount=18
Dazu hatte ich sogar noch etwas zur Option -o von grep gesagt.
Ganz simpel
Die Ausgabe von file für diverse Dateitypen ansehen.
Dann nach dem Gewünschten matchen.
Dann auswerten.
Thats all.
Gruß Wolfgang
Ich bin pure Nostalgie
gerne würde ich euch alle Systeminfos miteilen,
aber wie bekomme ich das über die schell heraus...!??!?
Ich bin pure Nostalgie
Das es sich hierbei um UNIX handelt müsste doch klar sein!
Meine Frage bezog sich auf die Befehle, mit denen ich herausfinden kann welche Version es von UNIX ist!
Hi,
wären meines Wissens ein paar Informationsträger.Code:# uname -a # cat /etc/issue # grep -V
Des weiteren sollte Dein System - sofern es einigermaßen anfängerfreundlich ist - über Informationsseiten wie die sogenannten manpages verfügen. Wenn dem so ist, solltest Du bei einer Fehlerausgabe wie
immer sofort mit einemgrep: illegal option -- o
Usage: grep -hblcnsviw pattern file . . .antworten um nachzusehen, ob "Dein" grep (vermutlich nicht GNU, denn "meines" kann -o ;-P) das tatsächlich nicht kann.Code:man grep
Gruß Daniel
Äh,
also eigentlich solltest du wissen welches Betriebssystem du hast.
Es gibt kein "Unix" mehr, schon lange nicht mehr, dafür aber Dutzende von Derrivaten.
Kuck mal in /etc/, wenn du Glück hast findest du eine Datei namens release oder so ähnlich.
Bei mir auf openSuse heisst die z.B. SUSE-Release.
An dieses Schema halten sich aber nur einige Distros.
Hallo
@davinci80
Zuerstmal möchte ich sagen, dass es keinen Grund gibt diesen Beitrag mit einer Begründung "(HuHu)" zu melden.
Alles was hier kommt kommt freiwillig, einen Anspruch darauf gibt es nicht.
Zum Thema:
Welches OS verwendet wird, sollte aus meiner Sicht schon der User wissen bevor irgendetwas darauf erledigt wird. Erst Recht in der Shell.
Schließlich ist das ja entscheident, wie man mit der Kiste umgeht, welche Befehle sie versteht und welche nicht.
Welche Shell du verwendest solltest du auch wissen.
Eventuell hilft ja die Variable SHELL weiter.
echo $SHELL
Schließlich kannst du auch nachsehen, worauf deine Shebang (ertse Zeile eines ausführbaren Skriptes) zeigt.
Falls du dieses Grep verwendest:
http://osr507doc.sco.com/en/man/html.C/grep.C.html
Dann ersetze einfach das -o aus meinem Vorschlag durch -x.
IMHO sollte man gerade als Anfänger als erstes die entsprechenden Manpages finden.
Gruß Wolfgang
Ich bin pure Nostalgie
Dann mußt Du für das, was Du mit
bezweckst (was ich im übrigen nicht ganz nachvollziehen kann. Außer `file` oder `date` hat bei Dir eine andere Bedeutung als bei mirCode:TYP="$(file date|grep -o gzip )") eine Alternative finden.
Vergleiche auch man grep (GNU/linux) mit man grep (unix)
Gruß Daniel
Edit: ok, das date hatte mich zu sehr irritiert ;-P
Geändert von Fallout (17.04.2007 um 15:24 Uhr)
Wahrscheinlich fehlt der letzte Buchstabe und es soll datei heißen.
Falls du deine Manpage nicht findest, dann versuch es mal hier:
http://docsun.cites.uiuc.edu/sun_doc...an1/ksh.1.html
Wenn ich meine Glaskugel drehe, sehe ich dass dort vermutlich die ksh Standard ist.
Insofern sehe ich beim groben Überfliegen schon einen Fehler.
Die Incrementierung von i=i+1 fliegt dir um die Ohren.
Hier ein Auszug aus der Manpage:
Die doppelte while -Schleife kannst du dir sparen, wenn du die if-Abfrage in die while-Schleife legst.A simple example using arithmetic expansion:
# repeat a command 100 times
x=100
while [ $x -gt 0 ]
do
command
x=$(($x-1))
done
Gruß Wolfgang
Ich bin pure Nostalgie
Lesezeichen