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, 5632 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Netzwerk
gelöst Gruppenrichtlinien Item-Level targeting per Power Shell ändern (7)

Frage von Lukas4580 zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Linux Shell Mailanhang umbenennen (2)

Frage von Thekivi zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - 2 Arrays vergleichen und gleiche Einträge verbinden (6)

Frage von internet2107 zum Thema Batch & Shell ...

Batch & Shell
Dateien verschieben über die shell mit bashscript (8)

Frage von rababar2014 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (29)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
gelöst Welches OS für Firmengeräte? (20)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...