Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Kommazahlen vergleichen in einer Shell

Frage Entwicklung Batch & Shell

Mitglied: Gorthaur

Gorthaur (Level 1) - Jetzt verbinden

05.09.2007, aktualisiert 06.09.2007, 5680 Aufrufe, 1 Kommentar

Hallo

Ich habe eine Frage bzgl. Shellprogrammierung

Ich erstelle mir mittels Robocopy eine Logdatei meines Backups: Diese filtere ich nach bestimmten Kriterien in meiner Shell.
Als Ergebnis erhalte ich eine Datei die folgenden Inhalt hat:

6.0 m T:\users\kurtr\fuer karl\hO\db\db_singleUser-2007-8-17.zip
3.0 m T:\users\markusg\Oracle\Authentication Services (Linux)\authservices_sample.zip
3.5 m W:\karls\profile\Oracle Jar Cache\frmall_jinit.jar-7844dae2-77051520.zip
3.4 m W:\karls\profile\Oracle Jar Cache\itext-paulo-155.jar-1890247f-49d06567.zip
7.8 m V:\rman\D817\c-1996553605-20070818-00.ctl
447.9 m V:\rman\D817\D817_337_20070818
458.6 m V:\rman\D817\D817_339_20070818
298.6 m V:\rman\D817\D817_340_20070818
752.4 m V:\rman\D817\D817_342_20070818
1.2 m V:\rman\D817\D817_343_20070818
4.4 m V:\rman\P817\c-2936502674-20070818-00.ctl
5.6 m V:\rman\P817\P817_200_20070818
528.6 m V:\rman\P817\P817_201_20070818


Ziel meines Shells soll es sein das alle Zeilen wo die Dateigröße > 500 MB ist auszugeben.

Mein Ansatz sieht folgendermaßen aus: (Auszug)


while read -r filesizeinmb dir
do
if [ "$filesizeinmb" -ge "$2" ]; then
echo $dir " || " $filesizeinmb
fi
done < output_m.txt


Also ich lese Zeile für Zeile ein und speichere es in 2 Variablen. Danach würde ich gerne die Dategröße mit einem Eingabeparameter vergleichen. Wenn die Dateigröße größer ist soll die Dateigröße + Pfad/Datei ausgegeben werden.

Das Problem ist das die Dateigröße eine Kommazahl ist. Der Eingabeparameter soll auch ein Kommawert sein. Leider habe ich nichts gefunden um Kommawerte zu vergleichen.
Ich habe probiert den Kommawert abzuschneiden mit "$filesizeinmb | cut -d. -f1" leider ohne Erfolg.

Gibt es irgendeine Möglichkeit? Ich bin nach stundenlangem Google leider ratlos. Habe nichts angemessenes gefunden

mfg
Mario
Mitglied: Natureshadow
06.09.2007 um 13:08 Uhr
Hallo,

Zahlen werden in der Bash mit dem Operator -lt (less than, weniger als) und -gt (greater than, größer als) verglichen.

Grüße,
Nik
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst AD-Benutzer per Shell auslesen und vergleichen (8)

Frage von ReneBue zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable in Makefile durch Shell Command (2)

Frage von nico1999 zum Thema Batch & Shell ...

Linux
gelöst Vergleich zwischen Distributionen. Mögliche Kriterien? (18)

Frage von hansleitner zum Thema Linux ...

Grafikkarten & Monitore
Grafikkarten Vergleich & Grafikkarten Rangliste

Link von joemix zum Thema Grafikkarten & Monitore ...

Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (33)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

Netzwerke
Ip Adressenkonflikt bei Großfamilie (12)

Frage von gunter zum Thema Netzwerke ...