grep 命令过滤配置文件中的注释和空行

grep 用法

Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i ‘hello world‘ menu.h main.c

Regexp selection and interpretation:
  -E, --extended-regexp     PATTERN is an extended regular expression (ERE)
  -F, --fixed-strings       PATTERN is a set of newline-separated fixed strings
  -G, --basic-regexp        PATTERN is a basic regular expression (BRE)
  -P, --perl-regexp         PATTERN is a Perl regular expression
  -e, --regexp=PATTERN      use PATTERN for matching
  -f, --file=FILE           obtain PATTERN from FILE
  -i, --ignore-case         ignore case distinctions
  -w, --word-regexp         force PATTERN to match only whole words
  -x, --line-regexp         force PATTERN to match only whole lines
  -z, --null-data           a data line ends in 0 byte, not newline

Miscellaneous:
  -s, --no-messages         suppress error messages
  -v, --invert-match        select non-matching lines
  -V, --version             print version information and exit
      --help                display this help and exit
      --mmap                ignored for backwards compatibility

Output control:
  -m, --max-count=NUM       stop after NUM matches
  -b, --byte-offset         print the byte offset with output lines
  -n, --line-number         print line number with output lines
      --line-buffered       flush output on every line
  -H, --with-filename       print the filename for each match
  -h, --no-filename         suppress the prefixing filename on output
      --label=LABEL         print LABEL as filename for standard input
  -o, --only-matching       show only the part of a line matching PATTERN
  -q, --quiet, --silent     suppress all normal output
      --binary-files=TYPE   assume that binary files are TYPE;
                            TYPE is `binary‘, `text‘, or `without-match‘
  -a, --text                equivalent to --binary-files=text
  -I                        equivalent to --binary-files=without-match
  -d, --directories=ACTION  how to handle directories;
                            ACTION is `read‘, `recurse‘, or `skip‘
  -D, --devices=ACTION      how to handle devices, FIFOs and sockets;
                            ACTION is `read‘ or `skip‘
  -R, -r, --recursive       equivalent to --directories=recurse
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.
  -L, --files-without-match  print only names of FILEs containing no match
  -l, --files-with-matches  print only names of FILEs containing matches
  -c, --count               print only a count of matching lines per FILE
  -T, --initial-tab         make tabs line up (if needed)
  -Z, --null                print 0 byte after FILE name

Context control:
  -B, --before-context=NUM  print NUM lines of leading context
  -A, --after-context=NUM   print NUM lines of trailing context
  -C, --context=NUM         print NUM lines of output context
  -NUM                      same as --context=NUM
      --color[=WHEN],
      --colour[=WHEN]       use markers to highlight the matching strings;
                            WHEN is `always‘, `never‘, or `auto‘
  -U, --binary              do not strip CR characters at EOL (MSDOS)
  -u, --unix-byte-offsets   report offsets as if CRs were not there (MSDOS)

例子

# 显示过滤注释( # ; 开头) 和空行后的配置信息
$ grep -Ev "^$|^[#;]" server.conf
# 显示所有带 root 的行
$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
$ cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
# 将没有出现 root 的行取出来
$ grep -v root /etc/passwd
时间: 2024-10-06 22:06:48

grep 命令过滤配置文件中的注释和空行的相关文章

《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串

8.14  <Linux学习并不难>Linux常用操作命令(14):grep命令查找文件中符合条件的字符串 使用grep命令可以查找文件内符合条件的字符串.          命令语法: grep [选项] [查找模式] [文件] 命令中各选项的含义如表所示. 选项 选项含义 -E 模式是一个可扩展的正则表达式 -F 模式是一组由断行符分隔的定长字符串 -P 模式是一个Perl正则表达式 -b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量 -c 只显示匹配行的数量 -i 比较时不

linux shell基础(四)正则表达式与grep命令(编辑中)

一.正则表达式之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.(转载至https://deerchao.net/tutorials/regex/regex.htm )正则就是有规律的一串字符串,用来描述一个特定的内容,正则适合用来处理字符串,不太适合处理数学逻辑.学好正则对编写shell脚本有很大的好处,所有的shell脚本大部分都涉及到正则表达式.各种编程工具中

过滤PostgreSQL配置文件中被注释的部分

以下正则可以过滤掉PostgreSQL配置文件被注释的部分,包括'#'前带空格的部分,但参数前带空格的部分不会过滤掉 [email protected]:/opt/pg8122/data> cat postgresql.conf | grep -Ev '^#|^$|^[[:space:]]+[#]' 原文地址:https://www.cnblogs.com/baisha/p/10300025.html

删除PHP配置文件中的注释行

删除空行: sed -i /^[[:space:]]*$/d filename 删除注释行: sed -i '/^;.*/d' filename 仅仅预览的话,去掉-i参数.

Linux的grep命令过滤关键字,并查询前后多少行信息

at xxx.log | grep -A 10 ERROR 后10行 cat xxx.log | grep -B 10 ERROR 前10行 cat xxx.log | grep -C 30 ERROR 前后各30行  经常用  迅速定位ERROR上下文 原文地址:https://www.cnblogs.com/QuestionsZhang/p/12356137.html

批量删除文档中的注释和空行

1.空行  ^:b*$\n 2.注释  //.*\n

shell编程之grep命令的使用

大家在学习正则表达式之前,首先要明确一点,并把它牢牢记在心里,那就是: 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,不要把二者搞混了.切记!!! 通常有三种文本处理工具/命令:grep.sed.awk,它们三者均可以解释正则.下面我就为大家介绍grep命令的使用方法. 一.使用grep命令搜索文件中的内容 grep和egrep命令能够在一个或多个文件的内容中搜索某一特定的字符模式,也被称为正则表达式(regular expressions).一个模式可以是一个单一的

grep命令中文手册(info grep翻译)

body { font: 13.34px helvetica, arial, freesans, clean, sans-serif; color: black; line-height: 1.4em; padding: 0.7em } p { margin: 1em 0; line-height: 1.5em } pre,code { font: 12px Monaco, "Courier New", "DejaVu Sans Mono", "Bitst

Linux grep命令的一些使用体会

Linux grep 命令 Linux系统中grep,egrep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本.2.egrep : 扩展式grep,其使用扩展式正规表达式(ERE)来匹配文本.3.fgrep : 快速grep,这个版本匹配固定字