मैं smb.conf
केवल उन पंक्तियों को देखना और देखना चाहता हूं जिन पर कोई टिप्पणी नहीं की गई है।
मैं smb.conf
केवल उन पंक्तियों को देखना और देखना चाहता हूं जिन पर कोई टिप्पणी नहीं की गई है।
जवाबों:
grep "^[^#;]" smb.conf
पहला ^
लाइन की शुरुआत को संदर्भित करता है, इसलिए पहले चरित्र के बाद शुरू होने वाली टिप्पणियों के साथ लाइनों को बाहर नहीं किया जाएगा। [^#;]
किसी भी चरित्र का मतलब है जो #
या नहीं है ;
।
दूसरे शब्दों में, यह उन रेखाओं की रिपोर्ट करता है जो किसी भी चरित्र के अलावा #
और से शुरू होते हैं ;
। यह उन लाइनों की रिपोर्टिंग के समान नहीं है, जिनके साथ शुरू नहीं होता है #
और ;
(जिसके लिए आप इसका उपयोग करेंगे grep -v '^[#;]'
) इसमें खाली लाइनें भी शामिल हैं, लेकिन यह शायद इस मामले में बेहतर है क्योंकि मुझे संदेह है कि आप खाली लाइनों की परवाह करते हैं।
यदि आप प्रमुख रिक्त वर्णों को अनदेखा करना चाहते हैं, तो आप इसे निम्न में बदल सकते हैं:
grep '^[[:blank:]]*[^[:blank:]#;]' smb.conf
या
grep -vxE '[[:blank:]]*([#;].*)?' smb.conf
या
awk '$1 ~ /^[^;#]/' smb.conf
cat /etc/samba/smb.conf | grep ^[^#\;]
लेकिन वैसे भी धन्यवाद
cat ...|
वाक्य रचना का उपयोग करने से बचें । .2 खाली लाइनों और केवल स्थान युक्त रेखाओं को चाबुक के लिए, शायद टिप्पणियों के साथ यू इसका उपयोग कर सकते हैं:grep -v "^ *\(#.*\|\)$" < smb.conf
cat file | grep "blah"
implie एक के माध्यम से दो बाइनरी चल फीफो है, जबकि grep "blah" <file
वास्तव में ऐसा ही करने और बाँध file
स्वाभाविक रूप से ग्रेप के लिए STDIN
। [बैश] बेकार बिल्ली किसी भी खोज इंजन के माध्यम से खोज का एक पूर्ण विशेषताओं वाला विषय है! -> blog.sanctum.geek.nz/useless-use-of-cat ... नमूना के लिए
विम समाधान:
:v/^\s*[#\n]/p
मैं इस सवाल को पार कर गया जब खुद ही समाधान खोजने की कोशिश कर रहा था।
*
इसे इस +
तरह बदलें :v/^\s+[#\n]/p
ऑलिव नड्ज के उत्तर को टटोलने का कार्य (GNU grep
या संगत मानकर ) समाप्त किया जा सकता है :
grep -v "^\s*[#\;]\|^\s*$" <some_conf_file>
ये उदाहरण लोगों के काम आ सकते हैं।
[user@host tmp]$ cat whitespacetest
# Line 1 is a comment with hash symbol as first char
# Line 2 is a comment with hash symbol as second char
# Line 3 is a comment with hash symbol as third char
# Line 4 is a comment with tab first, then hash
; Line 5 is a comment with tab first, then semicolon. Comment char is ;
; Line 6 is a comment with semicolon symbol as first char
[user@host tmp]$
पहले grep उदाहरण में हैश प्रतीक के बाद व्हाट्सएप की किसी भी राशि के साथ शुरू होने वाली लाइनें शामिल नहीं हैं।
[user@host tmp]$ grep -v '^[[:space:]]*#' whitespacetest
; Line 5 is a comment with tab first, then semicolon. Comment char is ;
; Line 6 is a comment with semicolon symbol as first char
[user@host tmp]$
दूसरा व्हाट्सएप की किसी भी राशि के साथ शुरू होने वाली रेखाओं को रखता है और उसके बाद हैश प्रतीक या अर्धविराम।
[user@host tmp]$ grep -v '^[[:space:]]*[#;]' whitespacetest
[user@host tmp]$
यहाँ मुझे एक बेहतर मिला (GNU grep
या संगत मानकर ):
grep -v '^[#;/%<]\|^\s*$' anyfile.conf
उन पंक्तियों के लिए बाहर करें #;/%<
जो चौकोर कोष्ठक में होती हैं और पाइप के बाद दूसरा फ़िल्टर \s*$
रिक्त लाइनों के लिए होता है।
<
या /
उपयोग किया जाता है? मैं बहुत सी फ़ाइल स्वरूपों को जानता हूं जहां <
सब कुछ है लेकिन एक टिप्पणी है। !
कभी-कभी X संसाधन फ़ाइलों की तरह उपयोग किया जाता है।
grep -v '^$\|^\s*#' temp
यह बहुत बेहतर है, मैंने इसे https://stackoverflow.com/questions/17392869/how-to-print-a-file-excluding-comments-and-blank-lines-use-grep-sed से प्राप्त किया
यह GNU grep
या संगत मानता है ।
;
एक टिप्पणी के रूप में शुरू होने वाली लाइनों पर विचार करता है जिसे हटा दिया जाना चाहिए।
egrep -v "^#|^$" anyfile.txt
यह कमांड टिप्पणियों और रिक्त लाइनों को छोड़कर फ़ाइल में सभी जानकारी को संक्षिप्त करने के लिए है।
;
यह आपको उन लाइनों के बिना फ़ाइल को प्रदर्शित करना चाहिए जो इसके साथ शुरू होती हैं #
:
grep -v "^#" filename
;
।
testparm
इस प्रदर्शन डिफ़ॉल्ट मानों को भी बेहतर करें।