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秒再判 ...
随机推荐
- 机器人的运动范围 剑指offer66题
include "stdafx.h" #include<vector> #include<algorithm> #include<string> ...
- 设备树API
引子 首先看一个例子,也可参考linux设备树语法中的gpio示例.该示例选自openwrt的gpio-button-hotblug驱动. 设备树code: gpio-keys-polled { co ...
- XCode 4.6下XIB文件提示“...could not be opened..."的问题
最近更新了Mac系统和XCode,当我把一个以前的项目用Xcode5打开以后,再用Xcode4.6打开时,选中XXXX.xib/storyboard文件,有的文件会弹出 "The docum ...
- ORA-00349: failure obtaining block size for '+fra_grp01_d
有一次恢复库以后,open时报错ORA-00349,例如以下.最后通过删除这个log group解决. SQL> alter database open resetlogs; alter d ...
- Android DRM
最近在了解Android DRM相关的一些知识,下面转一个ARM大佬分享的内容: 前言 本文简略地介绍了如何在Android下实现DRM(Digital Rights Management, 数字版权 ...
- 第一百七十五节,jQuery,工具函数
jQuery,工具函数 学习要点: 1.字符串操作 2.数组和对象操作 3.测试操作 4.URL 操作 5.浏览器检测 6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对 ...
- 循环杀死Mysql sleep进程脚本
#!/bin/sh while : do n=`mysqladmin processlist -uadmin -p***|grep -i sleep |wc -l` date=`date +%Y%m% ...
- 内存空间申请(C)
标准C,C++: malloc----free new----delete WINDOWS API: gnew(.net) LocalAlloc----LocalFree GlobalAlloc--- ...
- 1. 写出一个能创建多级目录的 PHP 函数(新浪网技术部)
function create_dir($path,$mode){ if (is_dir($path)){ echo "该目录已经存在"; }else{ if(mkdir($pat ...
- 一套一般般的前端框架 layui
http://www.layui.com/doc/