Linux Shell编程 sort、wc命令
sort命令:字符串排序
sort 命令可以依据不同的数据类型来进行排序。sort 将文件的每一行作为一个单位,相互比较。比较原则是从首字符向后,依次按 ASCII 码值进行比较,最后将它们按升序输出。
sort 命令格式如下:
[root@localhost ~]# sort [选项] 文件名
选项:
- -f:忽略大小写;
- -b:忽略每行前面的空白部分;
- -n:以数值型进行排序,默认使用字符串排序;
- -r:反向排序;
- -u:删除重复行。就是 uniq 命令;
- -t:指定分隔符,默认分隔符是制表符;
- -k [n,m]:按照指定的字段范围排序。从第 n 个字段开始,到第 m 个字(默认到行尾);
sort命令示例
sort 命令默认是用每行开头的第一个字符来进行排序的,比如:
[root@localhost ~]# sort /etc/passwd
abrt:x::::/etc/abrt:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin apache:x:::Apache:/var/www:/sbin/nologin
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
…省略部分输出…
如果想要反向排序,则使用“-r”选项,比如:
[root@localhost ~]# sort -r /etc/passwd
vcsa:x:::virtual console memory owner:/dev:/sbin/nologin
uucp:x:::uucp:/var/spool/uucp:/sbin/nologin
tcpdump:x::::/:/sbin/nologin
…省略部分输出…
如果想要指定排序的字段,则需要使用"-t"选项指定分隔符,并使用"-k"选项指定字段号。假如我想要按照 UID 字段排序 /etc/passwd 文件,命令如下:
[root@localhost ~]# sort -t":"-k , /etc/passwd
bin:x:::bin:/bin:/sbin/nologin
uucp:x:::uucp:/var/spool/uucp:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
abrt:x::::/etc/abrt:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
…省略部分输出…
指定分隔符是":",以第三个字段开头,以第三个字段结尾排序,也就是只用第三个字段排序
sort 默认是按照字符排序的,daemon 用户的 UID 是 2,前面用户的 UID 的第一个字符都是 1,所以daemon 用户排在了最后。如果要想按照数字排序,请使用"-n"选项,比如:
[root@localhost ~]# sort -n -t":" -k , /etc/passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spod/lpd:/sbin/nologin
...省略部分输出...
当然,"-k"选项可以直接使用"-k 3",代表从第三个字段到行尾都排序(第一个字段先排序,如果一致,则第二个字段再排序,直到行尾)。
wc命令:统计指定文件中的字节数、字数、行数
[root@localhost ~]# wc [选项] 文件名
选项:
- -l:只统计行数;
- -w:只统计单词数;
- -m:只统计字符数;
wc命令示例
统计一下 /etc_passwd 文件中到底有多少行、多个单词、多少个字符,命令如下:
[root@localhost ~]# wc /etc/passwd
/etc/passwd
统计服务器上有多少个正常连接
[root@localhost ~]# netstat -an | grep ESTABLISHED | wc -l
Linux Shell编程 sort、wc命令的更多相关文章
- Linux Shell 编程 教程 常用命令
概述: Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户 ...
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- Linux Shell编程与编辑器使用详解
<Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- linux shell 编程参考
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...
- linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行
linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行 crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判 ...
随机推荐
- JSP/Servlet环境配置
下载安装JDK并配置环境变量 这里我下载安装的是jdk-7u51-windows-i586,如果你没有请到Oracle官网下载: [我的电脑]-[高级系统设置]-[环境变量]-系统变量中的Path添加 ...
- 报错:org.apache.jasper.JasperException: /jsp/head.jsp (line: 1, column: 2) Page directive: illegal to
上面报错提示的是org.apache.jasper.JasperException: /jsp/head.jsp (line: 1, column: 2) Page directive: illega ...
- Using Swift with Cocoa and Objective-C下载
<Using Swift with Cocoa and Objective-C Building App > 下载地址 http://download.csdn.net/detail/sw ...
- 项模板选择器属性(ItemTemplateSelector属性)和样式选择器(ItemContainerStyleSelector)
3.4.5 共享尺寸组 样式选择器: 或者========================================
- c语言行编辑程序
static.h 头文件 typedef struct bufferStatic{ char *top; char *base; int staticSize; }bufferStatic; type ...
- c++包含头文件好还是重新定义好
A.h struct A { int a; int b; }; B.cpp 在B.cpp里面用到这个结构体 有两种方法 .自己定义一个一模一样的结构体 struct A { }; .包含A.h头文件 ...
- iOS学习笔记(十)——iOS真机调试
前面一直使用模拟器运行,今天使用了真机调试,这一篇介绍一下真机调试.真机调试需要99$注册,如果有注册过的账号,也可以使用注册账号邀请你加入一个账号下,注册账号可以给你分配权限,我也是使用的邀请成为开 ...
- 《从零开始学Swift》学习笔记(Day 41)——类的继承
原创文章,欢迎转载.转载请注明:关东升的博客 Swift中的继承只能发生在类上,不能发生在枚举和结构体上.一个类可以继承另一个类的方法.属性.下标等特征,当一个类继承其他类时,继承类叫子类,被继承类叫 ...
- Splitting Pile
Splitting Pile Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement Snuke a ...
- JSON工具类库: alibaba/fastjson 使用记录
JSON工具类库: alibaba/fastjson 使用记录 一.了解JSON JSON标准规范中文文档: http://www.json.org/json-zh.html 最佳实践:http:// ...