Grep命令是一种强大的文本搜索工具,可以使用正则的表达式搜索文本,并打印匹配的行。Grep的全称是Global Regular Expression Print,表示全球正则表达式版本,其使用权限为所有用户。
grep的一般使用方法是:grep+[options]+pattern+filename
patter是要搜索的字符串或正则表达式。
参数和正则表达式的字符含义如下:
1、参数:
-i :忽略大小写
-c :打印匹配行数
-l :从多个文件中找到包含匹配项
-v :搜索不包括匹配项的行
-n:打印包含匹配项的行和行标
2、RE(正则表达式)
\ 忽略正则表达式中特殊字符的原始含义
^ 匹配正则表达式的开始行
$ 匹配正则表达式的结束行
\< 从匹配正则表达式的行开始
\>; 匹配正则表达式的行结束
[ ] 单个字符;如[A] 即A符合要求
[ - ] 范围 ;如[A-Z]即A,B,C直到Z都符合要求
. 所有单个字符
* 所有字符的长度都可以是0
搜索子目录明确要求:grep -r忽略子目录:grep -d skip
如果有很多输出,可以通过管道转移到“less’上阅读:$ grep magic /usr/src/Linux/Documentation/* | less
常见示例有:
grep Aug /var/log/messages 在文件 ‘/var/log/messages在“中搜索关键词”中搜索关键词Aug”grep ^Aug /var/log/messages 在文件 ‘/var/log/messages"""在"中查找以""Aug“开始词汇grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 所有包含数字的行grep文件 Aug -R /var/log/* 在目录 ‘/var/log’ 在随后的目录中搜索字符串”Aug”
结合选项会有更丰富的应用。
catcat命令是linux下的文本输出命令,通常用于观看文件的内容;
cat主要有三个功能:1。一次显示整个文件。$ cat filename2.创建键盘上的文件。$ cat > filename只能创建新文件,不能编辑现有文件。3.将几份文件合并为一份文件。$cat file1 file2 > filecat的具体命令格式 : cat [-AbeEnstTuv] [--help] [--version] filename说明:将文件串联到基本输出(屏幕或添加) > fileName 到另一个档案)参数:-n 或 –number 由 1 开始编号所有输出的行数-b 或 –number-nonblank 和 -n 相似,只是空白行不编号-s 或 –squeeze-blank 遇到连续两行以上的空白行,代替一行的空白行-v 或 –show-nonprinting示例:cat -n linuxfile1 > linuxfile2 把 linuxfile1 加上行号后输入的档案内容 linuxfile2 在这个档案中cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 加上行号(空白行不加)后,将文件内容附加到linuxfile3 里。范例:把 linuxfile1 加上行号后输入的档案内容 linuxfile2 在这个档案中cat -n linuxfile1 > linuxfile2 linuxfile1 和 linuxfile2 加上行号(空白行不加)后,将档案内容附加到内容中 linuxfile3 里。cat -b linuxfile1 linuxfile2 >> linuxfile3cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容
补充以上第三点:
cat file1 file2 > file表示,将file1和file2的内容串联到file文件中,如果已经存在,file文件将被重写。
cat file1 file2 >>file 表示将file1和file2的内容串联后输入file文件,如果已经存在,将新内容添加到file文件的原始内容后面。
cat <<EOF >file的用法:
如果是catt,将标准输入的内容输出到file中<<EOF>>file,在file中加入。
EOF已经结束了标准输入。(这里EOF表示键盘的内容)
echo
echo命令的功能是在显示器上显示一段文字,通常起到提示作用。
命令的一般格式如下: echo [ -n ] 字符串的选项n表示输出文本后不会改变行;字符串可以添加引号,也可以不添加引号。当使用echo命令输出带引号的字符串时,将字符串原始输出;当使用echo命令输出没有引号的字符串时,将字符串中的每个单词作为字符串输出,并在字符串之间进行空间分割。功能描述:显示文本。语 法:echo [-ne][字符串]或 echo [--help][--version]补充说明:echo将输入字符串发送到标准输出。输出字符串之间用空白字符隔开, 最后加上换行号。参 数:
shuf-n 最后不要自动换行
-e 如果字符串中出现以下字符,则应特别处理,而不是将其视为一般字符
文字输出:
\a 警告声;
\b 删除前一个字符;
\c 最后不加换行符号;
\f 但光标仍停留在原来的位置;
\n 换行,光标移至行首;
\r 光标移到行首,但不换行;
\t 插入tab;
\v 和\f一样;
\\ 插入\字符;
\nnn 以nnn(八进制)为代表的ASCII字符插入;
–help 显示帮助
–version 显示版本信息
用法: shuf [选项]... [文件]
或者: shuf -e [选项]... [参数]...
或者: shuf -i LO-HI [选项]...
在标准输出中随机排列输入行。
从标准输入中读取没有指定文件或文件为“-”的文件。
同时适用长短选项的必选参数。
-e, --echo treat each ARG as an input line
-i, --input-range=LO-HI treat each number LO through HI as an input line
-n, --head-count=COUNT output at most COUNT lines
-o, --output=FILE write result to FILE instead of standard output
--random-source=FILE get random bytes from FILE
-r, --repeat output lines can be repeated
-z, --zero-terminated line delimiter is NUL, not newline
--help 显示此帮助信息并退出
--version 显示版本信息并退出