`

shell脚本 之 sort cut

 
阅读更多

先看sort 

1.sort 主要是三个命令参数 -n,u,r,h

-n 按照数字进行排序,默认是按照字符进行排序的

-u 去除相同的字符,这个参数等同于  sort -u < ===== > sort|uniq 

-r 就是按照逆序排序,不加这个参数,我们默认时按照升序排的。加上后就是降序。

-h 按照人类可识别的逻辑进行排序,例如 1k,2g等

具体看个例子本,建立一个文本名字为:num

2

3

6

3

8

9

2

17

-------------------------------

 

sort num 
inter12@inter12:~/myshell/shell/tr$ sort num 
17
2
2
3
3
6
8
9
-------------------------------
 

 

sort -n num 
inter12@inter12:~/myshell/shell/tr$ sort -n num 
2
2
3
3
6
8
9
17
-------------------------------
 

 

sort -nr num 
inter12@inter12:~/myshell/shell/tr$ sort -nr num 
17
9
8
6
3
3
2
2
-------------------------------
 

 

sort -u num 去除重复的
inter12@inter12:~/myshell/shell/tr$ sort -un num 
2
3
6
8
9
17
-------------------------------
新建一个文本: hnum
1k
4G
2k
9G
5M
-------------------------------
sort -n hnum 
inter12@inter12:~/myshell/shell/tr$ sort -n hnum 
1k
2k
4G
5M
9G
得不到我们需要的排序
-------------------------------
sort -h hnum
inter12@inter12:~/myshell/shell/tr$ sort -h hnum 
1k
2k
5M
4G
9G
这样就OK了
 

 

2.cut

cut 主要是三个参数比较常用 -d f c

-d:按照什么进行符号分割,默认时空格,所有的shell命令进行分割的默认都是空格。等同于 awk中的 -F 

-f:分割后取得第几个区块,后面跟的时数字

-c:分割后取第几个字符,后面跟的也是字符

 

先生成一个测试文件

inter12@inter12:~/myshell/shell/cut$ ping www.sina.com.cn|tee ping

PING saaschannel.bops.test.com (127.61.10.10) 56(84) bytes of data.

64 bytes from comm-dns-ptr.test.com (127.61.10.10): icmp_req=1 ttl=55 time=1.00 ms

64 bytes from comm-dns-ptr.test.com (127.61.10.10): icmp_req=2 ttl=55 time=0.989 ms

64 bytes from comm-dns-ptr.test.com (127.61.10.10): icmp_req=3 ttl=55 time=1.02 ms

64 bytes from comm-dns-ptr.test.com (127.61.10.10): icmp_req=4 ttl=55 time=1.04 ms

 

这个时候会生成一个 ping 文件 

 

cut -c1-2 ping :取第1到2个字符
inter12@inter12:~/myshell/shell/cut$ cut -c1-2 ping 
PI
64
64
64
64
----------------------------------------------
cut -d ":" -f 2 ping 
inter12@inter12:~/myshell/shell/cut$ cut -d ":" -f 2 ping 
PING saaschannel.bops.alibaba.com (172.16.84.168) 56(84) bytes of data.
 icmp_req=1 ttl=55 time=1.00 ms
 icmp_req=2 ttl=55 time=0.989 ms
 icmp_req=3 ttl=55 time=1.02 ms
 icmp_req=4 ttl=55 time=1.04 ms
就是将冒号作为分隔符,取得第二个参数
 

 

shell下面很多命令是可以互通的,上面效果的不同实现

awk 版本:

awk -F ":" '{printf "%s\n",$2}' ping 

sed 版本:

sed -e 's/^.*://g' ping  

 

分享到:
评论

相关推荐

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    Linux shell脚本全面学习

    Linux shell 脚本全面学习 Linux shell 脚本是 Unix LIKE 系统中的一种脚本语言,用于自动执行某些任务。通过学习 Linux shell 脚本,可以让用户更方便地管理和维护操作系统。 1. Linux 脚本编写基础 在 Linux 中...

    shell脚本编写基础

    【Shell脚本编写基础】 Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户编写一系列命令,以实现批量处理任务或自动化重复性工作。在Linux测试过程中,编写Shell脚本是十分常见的,脚本的名称可以自由...

    Linux shell脚本编写基础

    Linux shell脚本编写基础 Linux系统作为自由软件领域的代表,一直深受众多程序员和系统管理员的青睐。而在Linux环境中,shell脚本编写则是系统管理、自动化运维和开发工作中的一项基本技能。Shell脚本不仅能将复杂...

    Linux shell脚本全面学习.doc

    Linux Shell脚本是一种强大的自动化工具,它允许用户编写一系列命令以执行特定任务,尤其是在Linux操作系统中。本篇文章将深入探讨Linux Shell脚本的基础知识,包括语法、变量、环境变量、命令以及流程控制。 首先...

    linux shell脚本

    Shell脚本不仅能够简化日常操作,还能提高效率,是Linux系统管理、自动化运维和开发人员不可或缺的技能之一。 ### Shell的分类 在Linux环境中,存在多种Shell类型,其中最常见的是Bash(Bourne Again Shell)。...

    shell 脚本

    常见的命令包括`echo`、`ls`、`wc`、`cp`、`mv`、`rm`、`grep`、`cut`、`cat`、`read`、`sort`、`uniq`、`expr`、`find`、`tee`、`basename`、`dirname`、`head`、`tail`、`sed`和`awk`等。例如: - `echo "hello...

    Linux_shell脚本入门教程.pdf

    ### Linux Shell脚本入门教程知识点概述 #### 一、Shell编程的重要性与应用场景 - **重要性**: 在Linux系统中,虽然存在多种图形界面工具,但Shell作为一种强大的编程语言,能够提供更加灵活的功能支持。Shell不仅...

    shell脚本基础资料

    ### Shell脚本基础资料 #### 一、Shell脚本简介 Shell脚本是用于与Linux操作系统交互的一种自动化工具。通过编写一系列的命令集合,可以实现复杂的任务自动化处理。Shell脚本不仅适用于简单的任务自动化,还能用于...

    《Linux shell脚本全面学习》pdf版电子书

    ### Linux Shell脚本全面学习知识点概述 #### 一、Linux脚本编写基础 **1.1 语法基本介绍** **1.1.1 开头** - **解释**: 每个Shell脚本都需要以 `#!/bin/sh` 开始,这行被称为shebang,用于指示系统如何执行此...

    linux shell 脚本编程

    Shell脚本的强大之处在于能够调用各种Unix命令,实现文件操作、文本处理、系统管理等复杂任务。以下列举了一些常用的Unix命令: - `echo`:用于输出文本到标准输出设备(屏幕)。 - `ls`:列出当前目录下的文件和子...

    linux shell脚本学习

    Linux Shell脚本是一种在Linux操作系统中执行的命令解释器,用于自动化一系列的系统任务。学习Linux Shell脚本有助于提升系统管理效率,特别是对于需要定期执行相同任务的场景。以下是关于Linux Shell脚本的基础知识...

    linux shell脚本基础学习

    ### Linux Shell脚本基础知识点详解 #### 一、Linux脚本编写基础 ##### 1.1 语法基本介绍 在Linux环境下,shell脚本是一种强大的工具,用于自动化各种任务和管理工作流程。掌握shell脚本的基础知识对于任何Linux...

    shell脚本基础入门

    1. Unix命令:用于文件和文字操作,如`echo`、`ls`、`cp`、`mv`、`rm`、`wc`、`grep`、`cut`、`cat`、`sort`、`uniq`、`expr`、`find`、`tee`、`basename`、`dirname`、`head`、`tail`、`sed`等。 2. 流程控制命令...

    如何编写一个shell脚本.pdf

    ### 如何编写Shell脚本知识点详解 #### 1. Shell脚本的定义和作用 Shell脚本是一种用来控制命令行的程序,它通过一系列命令、控制流程和内置函数来实现自动化处理任务。Shell脚本特别适用于系统管理任务,能够使...

    linux_Shell(脚本)编程入门_实例讲解详解

    `ls`列出目录内容,`wc`计算文件统计信息,`cp`和`mv`用于文件复制和移动,`rm`删除文件,`grep`搜索文件中的模式,`cut`截取文件内容,`file`识别文件类型,`read`从用户那里读取输入,`sort`和`uniq`对数据进行...

Global site tag (gtag.js) - Google Analytics