Angenommen, ich habe bereits die Ausgabe eines Befehls 'ls -la', und ich möchte jetzt nur die Dateinamen analysieren. Ich habe diesen regulären Ausdruck so weit gefunden, dass ich ihn gefunden habe, aber wie kann ich das ändern, um zu berücksichtigen, dass im Dateinamen selbst Whitespace ist?Wie kann ich diesen regulären Ausdruck ändern, um den Dateinamen aus ls -a output zu holen?
Beispiel 'ls -la' Ausgabe:
-rw-r--r-- 1 admin staff 460340057 May 4 14:19 test_large_file.xml
Regular Expression ich bisher haben:
\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+(\S+)
Ich denke, das könnte funktionieren? Aber ich könnte etwas vermissen: \ S + \ s + \ S + \ s + \ S + \ s + \ S + \ s + \ S + \ s + \ S + \ s + \ S + \ s + \ S + \ s + (\ S | \ s | - | _ | % 20) + –
Parsen 'ls' Ausgabe in bash ist keine gute Idee –
Versuchen Sie es mit' ls -a' als Ausgangspunkt. Es kann unnötig sein, das Format -l zu wählen, nur um es herauszufiltern. –