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, 1965 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
Debian
Kali Linux Druckaufträge sind immer auf gestoppt (2)

Frage von Windows10Gegner zum Thema Debian ...

Viren und Trojaner
Ransomware für Open Source: ESET warnt vor Linux-Variante von KillDisk (2)

Link von runasservice zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...