当前位置: 首页 > 图灵资讯 > 技术篇> Linux常用终端命令之cat、grep、echo、shuf

Linux常用终端命令之cat、grep、echo、shuf

来源:图灵教育
时间:2023-06-25 14:16:28

grep

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”

结合选项会有更丰富的应用。

cat

cat命令是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将输入字符串发送到标准输出。输出字符串之间用空白字符隔开, 最后加上换行号。参   数:

-n 最后不要自动换行

-e 如果字符串中出现以下字符,则应特别处理,而不是将其视为一般字符

文字输出:

\a 警告声;

\b 删除前一个字符;

\c 最后不加换行符号;

\f 但光标仍停留在原来的位置;

\n 换行,光标移至行首;

\r 光标移到行首,但不换行;

\t 插入tab;

\v 和\f一样;

\\ 插入\字符;

\nnn 以nnn(八进制)为代表的ASCII字符插入;

–help 显示帮助

–version 显示版本信息

shuf

用法: 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 显示版本信息并退出