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, 1952 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Viren und Trojaner
gelöst WHM cPanel Anti Virensoftware für Linux ? (2)

Frage von xpstress zum Thema Viren und Trojaner ...

Vmware
ESXI Template erstellen (2)

Frage von Phill93 zum Thema Vmware ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...