shell脚本编程学习笔记6(xdl)——字符串截取命令

原创 2018年04月15日 11:10:26

shell脚本编程学习笔记6——字符串截取命令

1,cut命令

[root@localhost ~]# cut [选项] 文件名
    -f 列号,表示提取第几列
    -d 分隔符,按照指定的分隔符分割列
    注意:默认分隔符是制表符

    实例:
        cut -f 2 filename   按照制表符分隔的,提取第二列
        cut -f 2,3 filename 提取第二列和第三列
        cut -d ":" -f 1,3   按照:为分隔符提取1和3列

cut局限性:
    不能提取分隔不是很明确的列,所以需要awk来提取。cut比较简单

2,printf命令

[root@li1079-128 ~]# printf '输出类型输出格式' 输出内容
输出类型:
    %ns     输出字符串,n是数字指代输出几个字符
    %ni     输出整数,n是数字指代输出几个数字
    %m.nf   输出浮点数,m和n代表整数位书和小数位数,%8.2f 总共8位,小数点后两位

输出格式:
    \a  输出警告音
    \b  输出退格键,backspace
    \f  清除屏幕
    \n  换行
    \t  水平输出退格 tab
    \r  回车
    \v  垂直输出退格 tab

注意:awk命令的输出中,支持print和printf,print会在每个输出之后自动加入换行符
     printf标准格式的输出命令,不带换行符。

3,awk

[root@li1079-128 ~]# awk 'case1{action1}case2{action2}...'
    case:
        关系表达式作为判断条件
    action
        格式化输出,流程控制等
实例:
    [root@li1079-128 ~]# df -h | awk '{printf $1"\t"$3"\n"}'


BEGIN{执行之前定义}
END{执行之后定义}

实例:# cat /etc/passwd | grep "/bin/bash" | \ 
     awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}' 
     以上例子用了BEGIN定义了分隔符

     关系运算
实例:# cat student.txt | grep -v Name |  \ 
     awk '$6 >= 87 {printf $2 "\n" }'

4,sed

简介:sed 是一种几乎包括在所有 UNIX 平台( 包括 Linux)的轻量级流编辑器。
     sed主要 是用来将数据进行选取、替换、删除、新 增的命令



[root@localhost ~]# sed [选项] ‘[动作]’ 文件名 
    选项:  -n:  一般sed命令会把所有数据都输出到屏幕 ,  
                 如果加入此选择,则只会把经过sed命令处  
                 理的行输出到屏幕。  
            -e:  允许对输入数据应用多条sed命令编辑  
            -i:  用sed的修改结果直接修改读取数据的文件,  而不是由屏幕输出 



    动作:
    a \:  追加,在当前行后添加一行或多行。添加多行时,除最后一行外,
           每行末尾需要用“\”代表数据未完结。  
    c \:  行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,
           每行末尾需用“\”代表数据未完结。    
    i \:  插入,在当期行前插入一行或多行。插入多行时,除最后一行外,
           每行末尾需要用“\”代表数据未完结。  
    d:    删除,删除指定的行。  
    p:    打印,输出指定的行。  
    s:    字串替换,用一个字符串替换另外一个字符串。格式为“行范围s/旧字串/新字     串/g”(和vim中的替换格式类似)。


    实例:
        [root@localhost ~]# sed '2p' student.txt  
        [root@localhost ~]# sed -n '2p' student.txt
        [root@localhost ~]# sed '2,4d' student.txt  # 删除第二行到第四行的数据 ,但不修改文 件本身
        [root@localhost ~]# sed '2a hello' student.txt   # 在第二行后 追 加 hello 
        [root@localhost ~]# sed '2i hello 
        \ world' student.txt # 在第二行前插入两行数据
        # sed '2c No such person‘ student.txt # 数据替换
        # sed ‘s/旧字串/新字串/g’ 文件名 
        # sed '3s/74/99/g' student.txt  # 在第三行中,把 74 换成 99 
        #sed -i '3s/74/99/g' student.txt  #sed操作的数据直接写入文件 
        # sed -e 's/Liming//g ; s/Gao//g' student.txt  
        # 同时把“ Liming ”和“ Gao ”替换为空
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SiuKong_Ngau/article/details/79947561

Shell脚本编程

Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
  • 2017年09月20日 23:43

shell脚本编程学习笔记7(XDL)——字符处理命令和条件判断

shell编程学习笔记——字符处理命令和条件判断1,字符处理[root@localhost ~]# sort [选项] 文件名 选项: -f: 忽略大小写 ...
  • SiuKong_Ngau
  • SiuKong_Ngau
  • 2018-04-15 11:09:14
  • 10

《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记

第二十二章:使用其他shell 什么是dash shellDebian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本。...
  • su1216
  • su1216
  • 2013-10-30 11:23:19
  • 5533

shell脚本编程学习笔记5(xdl)——正则表达式

    shell脚本编程学习笔记5——正则表达式1,简介正则表达式,用来在文件中匹配符合条件的字符串,包含匹配。注意是文件中选择字符串,和通配符是 不同的。grep,awk,sed等命令可以支持正则...
  • SiuKong_Ngau
  • SiuKong_Ngau
  • 2018-04-14 20:25:25
  • 6

Shell脚本编程学习笔记(序)

以前都是非系统性的学习Linux指令,一般也就用到什么百度什么,用完之后差不多没几天也就忘了。学来学去,熟悉的指令永远就那几个,永远记不住其他的指令,查找的自己都嫌烦了。 恰好目前项目不是很忙,...
  • toigkiss
  • toigkiss
  • 2018-01-10 20:29:41
  • 64

《Linux命令行与shell脚本编程大全》 第一、二章 学习笔记

第一章:初识Linux shell Linux内核负责以下4个主要功能: 1.系统内存管理 2.软件程序管理 3.硬件设备管理 4.文件系统管理 1.系统内存管理 内核不仅管理服务器上的可用物理内...
  • su1216
  • su1216
  • 2012-11-22 21:50:06
  • 12009

《Linux命令行与shell脚本编程大全》(第三版)读书笔记

第一部分 Linux命令行第三章、基本的bash shell命令bash手册man 命令例子:man cat 空格翻页、回车下一行、左右键看右侧(左侧)内容、q退出 infoinfo info 展示i...
  • BLUE__YEAH
  • BLUE__YEAH
  • 2017-10-09 15:50:50
  • 136

shell脚本编程学习笔记2(xdl)——Bash变量

    shell脚本编程学习笔记2——Bash变量1,变量简介1,计算机内存单元 2,设置规则 字母数组下划线组成,不能以数字开头 Bash中,默认类型字符串型,变量类型可修改 2...
  • SiuKong_Ngau
  • SiuKong_Ngau
  • 2018-04-10 22:54:56
  • 10

shell脚本编程学习笔记4(xdl)——Bash常见环境变量

shell脚本编程学习笔记4——Bash常见环境变量非专业运维,例如开发人员,环境变量熟悉常见的,了解不常见的即可。1,简介环境变量配置文件中主要是定义对系统的 操作环境生效的系统默认环境变量,比如 ...
  • SiuKong_Ngau
  • SiuKong_Ngau
  • 2018-04-13 09:45:43
  • 0

shell脚本编程学习笔记8(XDL)——流程控制和循环

shell脚本编程学习笔记8——流程控制和循环1,if语句1,框架1,单分支: if [条件判断式] ;then program fi if [条件判断式] ...
  • SiuKong_Ngau
  • SiuKong_Ngau
  • 2018-04-15 18:23:20
  • 10
收藏助手
不良信息举报
您举报文章:shell脚本编程学习笔记6(xdl)——字符串截取命令
举报原因:
原因补充:

(最多只允许输入30个字)