Während den Entwicklungsarbeiten an JooWI sollte eine Liste der kompleten Projektstruktur erstellt werden. Dabei wollte ich neben der Ordnerstruktur und den beinhalteten Quelldateien auch deren Zeilenanzahl angezeigt haben, um bei den Optimierungen der Quellcodes einen besseren Überblick zu bekommen.

Hierzu öffnet ihr in die Linux Konsole und ihr erhaltet mit folgender Zeile euer gewünschtes Ergebnis:

find * -print0 | xargs -0 wc -l

Ersetzt den STERN einfach durch den gewünschten Pfad. Ihr könnt anschließend unter DATEI die Ausgabe als Textdatei speichern.

Importeinstellungen in LibreOffice Diese habe ich weiterhin in LibreOffice geöffnet und das Leerzeichen als Trennzeichen eingestellt. Außerdem fasste ich die Feldtrenner zusammen. Ich erhielt eine 5 spaltige Tabelle und habe für eine bessere Übersicht ein Makro erstellt.

Da ich mit dem Basic von Open-/LibreOffice nicht wirklich klar komme, hab ich das mir vertrautere VisualBasicforApplications (VBA) verwendet.

 

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub structure()

' delete columns not useful
Range("A:A").Delete
Range("C:D").Delete

Dim count As Integer
Dim i As Integer

' get complete rows
count = ActiveSheet.UsedRange.Rows.count

For i = 1 To count

' Cells(y, x)
' delete rows contains "IST"
If Sheets("Tabelle1").Cells(i, 2).Value = "Ist" Then

Rows(i).Delete
i = i - 1

End If

dot = 0

' set DOT variable if column B contains a DOT
For k = 1 To Len(Sheets("Tabelle1").Cells(i, 2).Value)

If Mid$(Sheets("Tabelle1").Cells(i, 2).Value, k, 1) = "." Then

dot = k

End If

Next k

' write path in column C and file in column D if
' variable DOT is not 0 and column B is not "INSGESAMT" (last row)
If dot > 0 And Sheets("Tabelle1").Cells(i, 2).Value <> "insgesamt" Then

For j = 1 To Len(Sheets("Tabelle1").Cells(i, 2).Value)

If Mid$(Sheets("Tabelle1").Cells(i, 2).Value, j, 1) = "/" Then

Pos = j

End If

Next j

Cells(i, 3).Value = Left$(Sheets("Tabelle1").Cells(i, 2).Value, Pos - 1)
Cells(i, 4).Value = Right$(Sheets("Tabelle1").Cells(i, 2).Value, Len(Sheets("Tabelle1").Cells(i, 2).Value) - Pos)

Else

Cells(i, 3).Value = Sheets("Tabelle1").Cells(i, 2).Value

End If

Next i

' copy rows value in last column and delete columns not useful
Range("A:A").Copy
Range("E:E").Insert
Range("A:B").Delete

End Sub

Dadurch erhielt ich eine 3 Spaltige Ansicht, mit dem Pfad in Spalte A, der Datei in Spalte B und der Zeilenanzahl in Spalte C.

 

Kommentar schreiben
Ich habe den Datenschutz gelesen. Ich stimme zu, dass meine Angaben und Daten zur elektronisch erhoben und gespeichert werden. Alternativ kann ich als Namen auch ein Pseudonym eintragen. Hinweis: Sie können Ihre Einwilligung jederzeit für die Zukunft per E-Mail an widerrufen.

Anzeige