命令难度总体来说有简入难,参数都是工作中常常用到的。如果涉及到一些生僻的参数还请百度或man一下。

sort(参考学习网站:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html

  功能:根据不同的数据类型进行排序

  格式:sort [-cMnrtk][源文件][-o 输出文件]

  说明:

    如果有一个文件"1.txt",假如有一列数字,分别为1,2,2,3,5,4

    -n:   依照数值的大小排序 --> 数字以字符进行排序时,2比10大    cat 1.txt |  sort -n

    -u: 在输出行中去除重复行   cat 1.txt | sort -u

    -r:反序排列  cat 1.txt | sort -r

    -o:将结果输出到源文件(如果使用sort -n 1.txt > 1.txt,将导致文件内容丢失  使用 sort -n 1.txt -o 1.txt)

    -t(分隔符),-k(区间数):确定排序的列  -->sort -nr -t":" -k 3 /etc/passwd  将文件的第三列以数字的形式进行f反向排序

uniq(参考学习网站:http://blog.csdn.net/e421083458/article/details/37913181

  功能:读取输入文件,并比较相邻的行。可去除重复行。(使用前,需要用sort先进行排序)

  格式:uniq [-cdu] 文件

  说明:

    -c:在输出行前面加上每行在输入文件中出现的次数

    -d:仅显示重复行

    -u:仅显示不重复的行

    示例:cat /etc/passwd | awk -F":" '{print $7}'| sort |uniq -c  --> 查看passwd中解释器种类及数量

cut(参考学习地址:http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html

  功能:对文件进行内容选取,对所有行进行操作

  格式:cut [-bcdfn] 文件

  说明:

    -b :以字节为单位进行分割。【这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志】(数字/字母/符号,一个一个字节,汉子为三个字节 echo "好的" | cut -b 4-6

    -c :以字符为单位进行分割

    -d :自定义分隔符,只能是单一character。这个区分与awk,有时候awk更为方便。

    -f  :与-d一起使用,指定显示哪个区域。

    -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内

  示例:

    cat /etc/passwd | cut -d":" -f7 |sort | uniq   (查看/etc/passwd中所有用户地解释器种类有多少)

sed(学习参考地址:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.htmlhttp://www.iteye.com/topic/587673

  功能:在线编辑器,自动编辑一个或多个文件,简化对文件的反复操作、编写转化程序等。不会改变原文件内容

       次处理一行数据,首先将数据放入临时缓冲区中,sed命令处理缓冲区中的内容,完成后输出到屏幕。后接着处理下一行,知道结尾

      地址:通过地址(数字)来指定编辑对应的行,以逗号分隔两个数字作为起始位置(含),例:1,5(第一行到第五行),$表示最后一行

  格式:sed [-nefr]  [动作]

  说明:

          -n:安静(silent)模式,     加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来
          -e:多点编辑/命令,直接在命令列模式上进行 sed 的动作编辑
           -i:直接修改读取的文件内容,而不是输出到终端(修改原文件
           -f:直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作(不常用)
           -r:sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)(不常用)
          动作部分
          [n1,n2]动作
          n1、n2为操作的作用地址,$是行尾
          a:新增 ,a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
          c:取代,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
          d:删除,因为是删除啊,所以 d 后面通常不接内容
          i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
          p:列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
          s :取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g
 
示例:
          新增:sed '2a hello world' /etc/passwd:在第二行的后面新增一行;
                    sed '2,3a hhh' /etc/passwd   (会在第三行和第四行都会增加hhh)
          取代:sed '2,$c hhh' /etc/passwd    (第二行到最后一行被取代)
          删除:sed '2,$d' /etc/passwd    :删除第二行到最后一行 
          插入:sed '2i hhh' /etc/passwd  :第二行插入字符串,原第二行变成了第三行
                    sed '2,5i hhh' /etc/passwd :第二行到第五行中间都将插入字符串
          列印:sed -n '2,3p' /etc/passwd:将第2,3行内容输出
  补充:sed是常用正则表达式的一种命令,在此不做进一步深挖。可参考百度
 
  功能:General Regular Expression Parser,通用正则表达式的缩写是,一种文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。在grep的基础还有扩展了egrep/fgrep等信息
  格式:grep [-acinv] [--color=auto] '搜寻字符串' filename
  说明:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔
 
-A(n):After,将查找的结果连后(n)行业显示出来
-B(n):Before,作用参上
-C(n):Center,作用参上
 
正则表达式
               [ ]:匹配任意一个字符   -->grep -n "[1-9][3-9]"  匹配以1-9任意数据开始,后面跟3-9任意一个数字,则数据范围在13~99之间
               [^]:反向选择
               ^、$:开始、结尾符, -->grep -n "^root.*root$" 匹配以root开头并以root结尾的行
               .:至少有任意一个字符
               ?:任意一个字符,0或1个(需要使用grep -E
               *:重复前一个字符(串)n(n>=0)个
               +:重复前一个字符1次以上(需要使用grep -E) 
  示例:
    grep -A1 -n --color=auto "^hd.*/bash$" /etc/passwd  >>以hd开始,/bash结尾,输出行数、对应行及下一行并高亮。
 
  功能:目录结构中搜索文件,并执行指定的操作,涉及到较多搜索时,放到后台进行(命令结尾添加:&)
  格式:find pathname [选项]
  说明:
     -name :按照文件名查找文件
     -type:依据文件类型查找,
               f:普通文件
               d:目录
               l:符号链接文件
               b/c:块/字符设备文件
               P:管道文件
     -print:将匹配的文件输出到标准输出(-print0:不换行)
     -size:匹配文件大小(K/M/G)
     -perm:(permission)匹配文件权限进行查找
               示例:find ~ -perm 755 -type d -name "demon*" (在家目录下查找权限是755以demon开头的目录)
     -user/-group :匹配文件属主/组主进行文件查询。
               示例:find ~ -user sunhuaj -name "hehe" (查找家目录下属主为sunhuaj名称为hehe的文件)
     文件元数据:accesstime、modifytime、changetime
      +:时间之前;-:时间之内(最近时间内)
     -ctime:+/-n 根据文件的创建时间进行查找 【以天维度,跨度大;-cmin,分钟维度】
     -atiime:+/-根据文件的访问时间进行查找【同上;-amin,分钟维度】
     -mtime:+/-根据文件的修改时间进行查找【同上;-mmin分钟维度】
     -exec  cmd {} \;:find命令对匹配的文件执行该参数所给出的shell命令,注意“{}”与“\;”有空格
  示例:
     1、查找一天以内创建的1小时之前修改过的大于3M的文件
     find ~ -ctime -1 -mmin 60 -size +3M -print
     2、查找空文件/目录
     find / -empty
     3、查看目标文件的详细信息
     find ~ -name "*shj*" -exec ls -l {} \;
 
  功能:强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理
  格式:awk '{pattern + action}' {filenames}
     pattern:表示 AWK 在数据中查找的内容,为要表示的正则表达式,用斜杠括起来
     action:找到匹配内容时所执行的一系列命令。
     说明:花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组
  
示例:
     a、last -n 5 | awk '{print $1}':显示最近登录的五个账号
     awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推
 
     b、cat /etc/passwd | awk -F":" '{print $1}' :只显示/etc/passwd的用户
          cat /etc/passwd | awk -F":" '{print $1"\t"$7}' :显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
 
     c、cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
          awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作
 
     d、cat  /etc/passwd | awk '/root/' :搜索有关键字rootde行
 
     e、 awk -F: '/root/{print $7}' /etc/passwd:搜索/etc/passwd有root关键字的所有行,并显示对应的shell
 
转载请注明出处!欢迎邮件沟通:shj8319@sina.com

Linux进阶命令-sort、uniq、 cut、sed、grep、find、awk的更多相关文章

  1. Linux下命令sort, uniq

    标题:sort, uniq 一.sort命令的使用       1. 作用:sort命令顾名思意,其可以帮助我们进行排序,而且可以依据不同的数据类型来排序.例如数字和文字的排序就不一样,sort可以指 ...

  2. linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

  3. (转)linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

  4. 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解

    linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...

  5. Linux高级命令-sort、uniq、 cut、sed、grep、find、awk

    sort(参考学习网站:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html) 功能:根据不同的数据类型进行排序 格式:s ...

  6. 文本处理命令(sort+uniq+cut+tr+wc)+三剑客之sed

    目录 文本处理命令+三剑客之sed 一.文本处理命令 1.排序命令 sort 2.检查/删除命令 uniq 3. cut 显示特定部分命令 4. 替换或删除命令 tr 5.统计 计算数字命令 wc 二 ...

  7. linux sort,uniq,cut,wc,tr命令详解

    sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...

  8. 文件上传下载,命令之wget / curl / which / sort / uniq / cut / wc /tr /sed

    目录 命令 1.文件的上传下载 2.从外网下载文件wget 3.curl文件下载 4.查找命令which 5.字符处理命令-排序sort 6.字符处理-去重uniq 7.字符处理-截取cut 8.字符 ...

  9. [转]linux sort,uniq,cut,wc命令详解

    sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...

随机推荐

  1. 大文件拆分问题的java实践(附源码)

    引子 大文件拆分问题涉及到io处理.并发编程.生产者/消费者模式的理解,是一个很好的综合应用场景,为此,花点时间做一些实践,对相关的知识做一次梳理和集成,总结一些共性的处理方案和思路,以供后续工作中借 ...

  2. 编程语言与C语言的简介

    1.什么是程序 指挥计算机执行我们想要它做的动作,而依照顺序执行的一组指令 2.程序的作用是什么 指挥计算机工作 3.程序的特征 1.程序是一行一行的执行 2.是一种与计算机沟通的语言 3.程序是由特 ...

  3. User-Agent详解

    User-Agent : 用户代理  用户在上网的时候会作为http 请求头的一部分传递给服务端 ,用于识别用户当前环境(如浏览器类型及版本号,以及操作系统信息 )  右键f12可以查看 下面是我的浏 ...

  4. 开涛spring3(9.1) - Spring的事务 之 9.1 数据库事务概述

    9.1  数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致性.隔离性和持久性 ...

  5. 关于RFID2.4G 标签卡最新方案

    它是一款针对RFID有源卡行业设计的,是一款单向的2.4G频段RF射频芯片,目前主要针对低功耗的校讯通, 2.4G停车场,电动车防盗, 闪光灯设备(引闪器) ,智能家居等领域.SI24R2E 同样与S ...

  6. 机器学习:Python实现聚类算法(一)之AP算法

    1.算法简介 AP(Affinity Propagation)通常被翻译为近邻传播算法或者亲和力传播算法,是在2007年的Science杂志上提出的一种新的聚类算法.AP算法的基本思想是将全部数据点都 ...

  7. 支付宝支付-常用支付API详解(查询、退款、提现等)

    所有的接口支持沙盒环境的测试 1.前言 前面几篇文件详细介绍了 支付宝提现.扫码支付.条码支付.Wap支付.App支付 支付宝支付-提现到个人支付宝 支付宝支付-扫码支付 支付宝支付-刷卡支付(条码支 ...

  8. js实现分页

    <html> <head> <meta charset='utf-8'> <script type="text/javascript" s ...

  9. Vulkan Tutorial 07 Window surface

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 到目前为止,我们了解到Vulkan是一个与平台特性无关联的API集合.它不能直接与窗 ...

  10. Angular随笔第二课

    一.  列表表格以及其它迭代型元素 ng-repeat 可能是最有用的angular指令了,它可以根据集合中的项目一次创建一组元素的多份拷贝.不管在什么地方,只要你想创建一组事物的列表,你就可以使用这 ...