Linux - Anzeigen einer Datei ohne Kommentarzeilen
Möglicherweise müssen Sie eine Datei anzeigen, ohne die zahlreichen angehängten Kommentarzeilen anzuzeigen (insbesondere für die Konfigurationsdateien Ihres Betriebssystems), und Sie müssen auch in Betracht ziehen, die leeren Zeilen zu entfernen.
Grep
- Verwendung von "egrep" (oder "grep-E"):
egrep -v '^ (# | $)' /etc/samba/smb.conf
grep -E -v '^ (# | $)' /etc/samba/smb.conf
- Zeilen, die mit einem Hash (#) oder dem Endsymbol Dollar ($) beginnen, werden nicht angezeigt.
- In diesem Fall wird der Trennzeichenkommentar nicht am Zeilenanfang, sondern hinter (Leerzeichen oder Tabulator) platziert. Sie können Ihren Ausdruck jedoch wie folgt ändern:
grep -E -v '^ (# |; | $ | [] * #)' /etc/samba/smb.conf
Sed
- Sed nutzen
sed -e '/ ^ [] * # / d' -e '/ ^ $ / d' /etc/samba/smb.conf
- Hier werden zuerst Zeilen entfernt, die mit einem Leerzeichen oder einem Nummernzeichen beginnen, und dann alle leeren Zeilen.
- Sie können den Ausdruck wie folgt verbessern:
sed -e '/ ^ [] * # / d' -e '/ ^ [] *; / d' -e '/ ^ $ / d' /etc/samba/smb.conf
Perl
- Perl nutzen.
- Die Verwendung von Perl impliziert unter Berücksichtigung der Implementierung von Regex basierend auf der von den Dienstprogrammen verwendeten Engine.
- Mit der NFA-Engine (Nondeterministic Finite Automation) können Sie, obwohl langsamer als mit der DFA-Engine (Deterministic Finite Automation), den regulären Ausdruck verfeinern und verwalten, um ein bestimmtes Ergebnis zu erhalten:
perl -ne 'print es sei denn, / ^ \ s * [; \ $ #] | ^ $ /' file_config