Shell编程常用命令

1.diff和path命令

1.作用:

diff 通常用来比较文件的内容,patch用来打补丁

< 表示第一个文件中的内容

> 表示第二个文件中的内容

a  --add              添加

c  --change        修改

d  --delete          删除

2.示例:

<1>(将f2当作标准,输出f1如何才能变f2)

2c2,3表示第一个文件的第二三行改变就会和第二个文件一样

<2>打补丁

<3>diff对目录的操作

2.cut命令

1.用法:

cut 命令的作用是截取

可加参数:

-b:仅显示行中指定直接范围的内容;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符;

--complement:补足被选择的字节、字符或字段;

--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。
 

示例:

(取第三个)

(取前三个和第三个以后的,这里都是取得闭区间)

3.sort 和quid命令

1.用法:


sort 多用于字符排序
sort -n   纯数字排序
sort -r   倒序
sort -u   去掉重复数字
sort -o   输出到指定文件
sort -t   指定分隔符
sort -k   指定要排序的列
uniq  对重复字符作相应的处理
uniq -u   显示唯一的行
uniq -d   显示重复的行
uniq -c   每行显示一次并统计重复次数

2.示例:

4.seq ,join命令

1.seq用法

seq [选项]    尾数

seq [选项]    首数  尾数

seq [选项]    首数  增量 尾数

#是一个序列的缩写,主要用来输出序列化的东西

可加的参数有:

-f  --format=格式      使用printf样式的浮点格式

-s --separator=字符串    使用指定字符串分割数字

-w --equal-width      在列前加0使得宽度相同

 --help   显示帮助信息并退出

 --version  显示版本信息并退出

2.示例:

3.join的用法;

功能:将两个文件中,指定栏位内容相同的行连接起来。

找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。

默认区分大小写

语法:
join [-i][-a<1或2>][-e<字符串>][-o<格式>] [-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help] [--version][文件1][文件2] 

参数:

-a<1或2>   除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。 

-e<字符串>   若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。 

-i或--igore-case   比较栏位内容时,忽略大小写的差异。 

-o<格式>   按照指定的格式来显示结果。 

-t<字符>   使用栏位的分隔字符。 

-v<1或2>   跟-a相同,但是只显示文件中没有相同栏位的行。 

-1<栏位>   连接[文件1]指定的栏位。 

-2<栏位>   连接[文件2]指定的栏位。 

--help   显示帮助。 

--version   显示版本信息。

注意:

内连接(inner join)                                      格式:join <FILE1> <FILE2>

左连接(left join, 左外连接, left outer join)     格式:join -a1 <FILE1> <FILE2>

右连接(right join, 右外连接,right outer join)  格式:join -a2 <FILE1> <FILE2>

全连接(full join, 全外连接, full outer join)      格式:join -a1 -a2 <FILE1> <FILE2>

*指定分隔符:

-t <CHAR>

比如:-t ':' 使用冒号作为分隔符。默认的分隔符是空白。

*指定输出字段:

-o <FILENO.FIELDNO> ...

其中FILENO=1表示第一个文件,FILENO=2表示第二个文件,FIELDNO表示字段序号,从1开始编号。默认会全部输出,但关键字列只输出一次。

比如:-o 1.1 1.2 2.2 表示输出第一个文件的第一个字段、第二个字段,第二个文件的第二个字段。

5.tr,xargs命令

1.tr命令:

<1>用法:

Linux tr 命令用于转换或删除文件中的字符。

tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备

-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d, --delete:删除指令字符
-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
-t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
--help:显示程序用法信息
--version:显示程序本身的版本信息

<2>示例:

2.xargs命令

<1>用法

xargs是给命令传递参数的一一个过滤器, 也是组合多个命令的一个工具
xargs可以将管边或标准输入( stdin )数据转换成命令行参数,也能够从文件的输出中读取数据
xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行
xargs默认的命令是echo,这意味通过管道传递给
xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代

<2>示例:

发布了90 篇原创文章 · 获赞 18 · 访问量 7561

猜你喜欢

转载自blog.csdn.net/qq_42806574/article/details/104316272