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

Ordnerliste unter Linux Shell erstellen

Frage Linux Ubuntu

Mitglied: tHe-jAy

tHe-jAy (Level 1) - Jetzt verbinden

13.09.2014, aktualisiert 19:22 Uhr, 1981 Aufrufe, 5 Kommentare

Hallo,

ich versuche verzweifelt unter Linux eine Ordnerliste zu erstellen. Mein Ziel ist es, dasselbe Resultat wie mit folgendem Windows-Befehl zu erhalten.

cmd /u /c dir Ordnername\*. /b /o:-d > folderlist-UNICODE.txt

Liste mit allen im Ordner enthaltenen Ordnern in sortierter Reihenfolge nach letztem Zugriff/Erstelldatum.

Ein Ansatz wäre mal: ls -t -Fh -c | grep /$ | sed s#/##g

Allerdings erhalte ich beim Schreiben in eine Text-Datei eine Liste ohne Zeilenumbrüche.

Vielen Dank
Mitglied: colinardo
13.09.2014, aktualisiert 14.09.2014
ls -1dt */ | sed 's/\/$//' >folderlist.txt
man beachte hier den ersten Parameter von LS, es ist kein L sondern eine 1 !

Grüße Uwe
Bitte warten ..
Mitglied: tHe-jAy
14.09.2014 um 09:58 Uhr
Leider erhalte ich dasselbe Ergebnis.

Bsp.:

Ordner1Ordner2Ordner3

anstatt

Ordner1
Ordner2
Ordner3

Verwendeter Editor: Windows Standard (notepad.exe)
Bitte warten ..
Mitglied: colinardo
14.09.2014, aktualisiert um 10:53 Uhr
Verwendeter Editor: Windows Standard (notepad.exe)
Dann ist alles klar, der Grund ist das das "dumme" Notepad nur DOS-Zeilenumbrüche mit Carriage Return "\r\n" und keine reinen Unix Zeilenumbrüche "\n" kennt! Wenn du mal mit einem HEX-Editor in die Datei hineinschaust wirst du feststellen das zwischen den Ordnern nur ein 0A für einen Linefeed(LF) vorhanden ist, wohingegen für einen DOS-Zeilenumbruch ein 0D 0A benutzt wird (CR LF).
Nehme als mal einen anderen Editor her (z.B. notepad++, oder wordpad), und du wirst sehen das sie sehr wohl da sind , die wandeln das nämlich automatisch um.

Oder du wandelst mit SED die Zeilenumbrüche zusätzlich in DOS Zeilenumbrüche um.
kombiniert mit obigem Befehl sähe das dann so aus:
ls -1dt */ | sed 's/\/$/\r/' >folderlist.txt
Grüße Uwe
Bitte warten ..
Mitglied: tHe-jAy
14.09.2014 um 11:20 Uhr
Mit Notepad++ hast du recht.

Wenn ich jetzt allerdings \r verwende, schreibt er ein "r" hinter jeden Ordner (einzeilig in notepad.exe) - mehrzeilig mit "r" in Notepad++
Ändere ich den HEX von 72 (=r) auf 0D (=.) und öffne die Datei wiederrum mit notepad.exe ist das "r" weg und erscheint mehrzeilig.
In Notepad++ ebenfalls mehrzeilig und ohne "r".
Bitte warten ..
Mitglied: colinardo
14.09.2014, aktualisiert um 11:54 Uhr
Zitat von tHe-jAy:
Wenn ich jetzt allerdings \r verwende, schreibt er ein "r" hinter jeden Ordner (einzeilig in notepad.exe) - mehrzeilig
mit "r" in Notepad++
Was für eine sed Version hast du? da gibt es einige Unterschiede ... Läuft hier aber selbst auf einem älteren Ubuntu 10.04 einwandfrei ... selbst ein gejailbreaktes iPhone macht das hier ohne murren
Je nachdem wo du es ausführst musst du den Backslash eventuell verdoppeln.

Das sind die unterschiedlichen Varianten für die Umwandlung von UNIX in DOS Umbrüche, unter Linux:
sed "s/$/`echo -e \\\r`/"            # ksh 
sed 's/$'"/`echo \\\r`/"             # bash 
sed "s/$/`echo \\\r`/"               # zsh 
sed 's/$/\r/'                        # gsed 3.02.80 oder neuere Versionen
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Linux Shell Mailanhang umbenennen (2)

Frage von Thekivi zum Thema Batch & Shell ...

Windows Server
Erstellen von UIDs und GIDs im AD zur Anbindung von Linux-Maschinen

Frage von diemilz zum Thema Windows Server ...

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 ...