0%

cmp命令

用法

1
cmp file1 file2

功能

  • 逐字节比较两个文件是否完全相同
  • 两个文件完全相同时,不给出任何提示
  • 两个文件不同时,打印出第一个不同之处
  • 在Windows中有类似的命令COMP

cmp命令用来比较两个文件是否有差异。

  • 当相互比较的两个文件完全一样时,则该指令不会显示任何信息。
  • 若发现有差异,预设会标示出第一个不通之处的字符和列数编号。
  • 若不指定任何文件名称或是所给予的文件名为“-”,则cmp指令会从标准输入设备读取数据。
阅读全文 »

cheat介绍

https://github.com/cheat/cheat

cheat安装

cheat使用

cheat tar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@localhost sed]# cheat tar
# To extract an uncompressed archive:
tar -xvf /path/to/foo.tar

# To create an uncompressed archive:
tar -cvf /path/to/foo.tar /path/to/foo/

# To extract a .gz archive:
tar -xzvf /path/to/foo.tgz

# To create a .gz archive:
tar -czvf /path/to/foo.tgz /path/to/foo/

# To list the content of an .gz archive:
tar -ztvf /path/to/foo.tgz

# To extract a .bz2 archive:
tar -xjvf /path/to/foo.tgz

# To create a .bz2 archive:
tar -cjvf /path/to/foo.tgz /path/to/foo/

# To extract a .tar in specified Directory:
tar -xvf /path/to/foo.tar -C /path/to/destination/

# To list the content of an .bz2 archive:
tar -jtvf /path/to/foo.tgz

# To create a .gz archive and exclude all jpg,gif,... from the tgz
tar czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/

# To use parallel (multi-threaded) implementation of compression algorithms:
tar -z ... -> tar -Ipigz ...
tar -j ... -> tar -Ipbzip2 ...
tar -J ... -> tar -Ipixz ...
[root@localhost sed]#
阅读全文 »

tldr命令介绍

该命令可以显示一些命令的常见用法
tldr全称Too long, Don’t read,翻译成中文就是[太长不读]。tldr根据二八原则将命令的常用场景给出示例,让人一看就懂。
tldr是简化版的使用手册,并不会像man一样把所有的使用参数和说明都列出来,而是只显示常用的几个使用Sample和说明。

阅读全文 »

基本正则表达式 BRE元字符表

元字符 说明
* *前面的正则表达式匹配的结果重复任意次(含0次)。
\+ 与星号(*)相同,只是至少重复1次,GNU的扩展功能。
\? 与星号(*)相同,只是最多重复1次,GNU的扩展功能。
\{i\} 与星号(*)相同,只是重复指定的i次。
\{i,j\} 与星号(*)相同,只是重复i至j次。
\{i, \} 与星号(*)相同,只是至少重复i次。
\(regexp\) 将regexp看作一个整体,用于后向引用,与\digit配合使用。
. 匹配任意单个字符。
^ 匹配模版空间开始处的NULL字符串。
$ 匹配的是模版空间结束处的NULL字符串。
[list] 匹配方括号中的字符列表中的任意一个。
[^list] 否定匹配方括号中的字符列表中的任意一个。
regexp1\|regexp2 用在相邻的正则表达式之间,表示匹配这些正则表达式中任一个都可以。匹配是从左向右开始的,一旦匹配成功就停止匹配。
regexp1|regexp2 匹配regexp1和regexp2的连接结果。
\digit 匹配正则表达式前半部分定义的后向引用的第digit个子表达式。digit为1至9的数字, 1为从左开始。
\n 匹配换行符。
\meta 将元字符meta转换成普通字符,以便匹配该字符本身,有$*.[\^
阅读全文 »

sed 多行命令

在学习 sed 命令的基础功能时,你可能注意到了一个局限,即所有的 sed 命令都只是针对单行数据执行操作,在 sed 命令读取缓冲区中的文本数据时,它会基于换行符的位置,将数据分成行,sed 会根据定义好的脚本命令一次处理一行数据。

但是,有时我们需要对跨多行的数据执行特定操作。比如说,在文本中查找一串字符串”http://c.biancheng.net",它很有可能出现在两行中,每行各包含其中一部分。这时,如果用普通的 sed 编辑器命令来处理文本,就不可能发现这种被分开的情况。

阅读全文 »

Linux复杂筛选及加工命令awk

awk:逐行扫描进行文本处理的一门语言

a.w.k分别为该程序的三位设计者姓氏的第一个字母

用法

awk ‘程序’ 文件名列表
awk -f 程序文件名 文件名列表

awk程序

1
条件{动作}

awk自动对每行文本执行条件判断,满足条件则执行动作 (内置循环)
允许多段程序:多段程序间用空格或分号隔开。

阅读全文 »

流编辑sed和正则表达式替换

sed 会根据脚本命令来处理文本文件中的数据,这些命令要么从命令行中输入,要么存储在一个文本文件中,此命令执行数据的顺序如下:

  • 每次仅读取一行内容;
  • 根据提供的规则命令匹配并修改数据。注意,sed 默认不会直接修改源文件数据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中的数据;
  • 将执行结果输出。
阅读全文 »

grep/egrep/fgrep:在文件中查找字符串(筛选)

grep在文件中查找字符串

grep(Global regular expression print)

语法

grep 模式 文件名列表

egrep 使用扩展正则表达式ERE描述模式

在指定模式方面比grep更灵活

fgrep 快速搜索指定字符串

按字符串搜索而不是按模式搜索。

阅读全文 »