shell常用工具


1,变量:几个特殊需要注意的变量,其它自定义变量不做阐述。

  1)$n:$0:该脚本名称,$1....:代表第几个参数;

  2)$#:获取所有参数个数,常用于循环;

  3)$*,$@:代表命令行中所有参数。$*把所有参数看成一个整体,而$@把所有参数单独看待,注意在for循环中使用时,加引号和不加引号的却别($*和$@ 在不加引号的情况下是一致的结果;加了引号,$*则表示一个整体,$@则把参数分开);

  4)$?:代表最后一行命令执行状态,0代表命令正常执行,非0则代表命令执行不正确,具体是什么数字,可以自定义;

2,cut工具:该工具即为‘剪’的意思,就是用来剪切数据用的。cut命令可以实现从文件中的每一行剪切字符、字节、字段,并且输出。

  该工具有2个参数:-f(提取第几列) ,-d(分割列的分隔符)

  例如:有如下数据,切分出第一列的数据

  vim cut.txt

    dong shen

    guan zhen

    wo  wo

    lai  lai

    le  le

  cut -f 1 -d  "  " cut.txt

 

3,sed工具:是一个流编辑器,每次处理一行内容。

  1)基本用法

    sed [选项参数]  ‘command’  filename

  2)选项参数说

 

选项参数

功能

-e

直接在指令列模式上进行sed的动作编辑。

  3)命令功能描述

 

命令

功能描述

a 

新增,a的后面可以接字串,在下一行出现

d

删除

s

查找并替换 

  4)例子:   

    将“mei nv”这个单词插入到sed.txt第二行下,打印

    sed '2a mei nv' sed.txt

 

4,awk工具:一个强大的文本分析工具。

  1)基本用法

 

    awk [选项参数] ‘pattern1{action1}  pattern2{action2}...filename

 

    pattern:表示AWK在数据中查找的内容,就是匹配模式  

 

    action:在找到匹配内容时所执行的一系列命令

  2)选项参数说

 

 

 

选项参数

功能

-F

指定输入文件折分隔符

-v

赋值一个用户定义变量

 

   3)例子:

    只显示以root开头的/etc/passwd的第一列和第七列,以逗号分割,且在行前面添加列名"begin print"在最后一行添加"end print"

     awk -F: 'BEGIN{print "begin print"} /^root/ {print $1","$7} END{print "end print"}' /etc/passwd

 

5,sort工具:对文件行进行排序,并将排序结果标准输出。

  1) 基本语法

 sort(选项)(参数)

选项

说明

-n

依照数值的大小排序

-r

以相反的顺序来排序

-t

设置排序时所用的分隔字符

-k

指定需要排序的列

   参数:指定待排序的文件列表

  2)实例

   vim sort.sh

 bb:40:5.4

 bd:20:4.2

 xz:50:2.3

 cls:10:3.5

 ss:30:1.6

根据第三列倒序排序

sort -t: -nrk 3 sort.sh

 

 

 

 

 

 

awk -F: '/^root/{print $7}' passwd


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM