Linux Shell编程 - 字符截取命令

01、字段提取命令 cut  =>   cut [选项] 文件名

    -f 列号: 提取第几列

    -d 分隔符:按照指定分割符分割列

    例如:cut  -f  2,4(列号;,逗号可以多行提取)  student.txt

       cut  -d “:” -f 1,3 /etc/passwd

02、格式化输出命令 printf 命令  => printf  ‘输出类型输出格式’  输出内容

    输出类型:

      %ns:输出字符串。n 是数字指代输出几个字符

      %ni:输出整数。n 是数字指代输出几个数字

      %m.nf:输出浮点数。m是整数,n是小数

    输出格式:

      \a:输出警告声音

      \b:输出退格键,删除键

      \f:清楚屏幕

      \n:换行

      \r:回车

      \t:水平输出退格键

      \v:垂直输出退格键

03、awk命令  =>  awk ‘条件1{动作1}条件2{动作2}....’  文件名  条件 (Pattern)

    动作(Action):

      格式化输出

      流程控制语句

    例如:awk  ‘ { printf  $2  "\t"  $6"\n" } ’   student.txt

        $2、$6:代表第几行

  BEGIN  => awk  ‘BEGIN{print "test !!"} { printf  $2  "\t"  $6"\n" } ’   student.txt

      BEGIN 会在所有的数据处理完之前执行

      例如:FS内置变量

        cat /etc/passwd | grep "/bin/bash" | \ awk ‘BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}‘

  END  =>   相反 :所有的数据处理完之后执行

04、sed 命令 :是一种几乎包括在所有UNIX平台(包括Linux)的轻量级流编辑器。

        sed 主要是用来将数据进行选取、替换、删除、新增的命令。  

  sed [选项] -‘[动作]’- 文件名

    -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕

    -e:允许对输入数据应用多条sed命令编辑

    -i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出

    动作:

      

    打印,输出指定行:sed  -n  ‘2p’ student.txt

    删除:sed “2,4d” student.txt   =>  删除2 -- 4行的数据,但是不修改文件本身

      追加:sed ‘2a  Hello’   student.txt 在第二行后追加 hello

    插入:sed ‘2i  wrold Hello ’  student.txt  在第二行前插入两行数据

    字符串替换:sed -i  ‘2s/99/55/g’ student.txt    把第2行的99替换成55

        加上 -i:连同文件一起修改,不加只是对打印修改

        加-e:sed -e ‘s/Liming/ads/g;s/Gao/ads/g’ student.txt

            同事把“Liming” 和 “Gao” 替换为ads

05、排序命令  =>  sort [选项] 文件名

    选项:

      -f:忽略大小写

      -n:以数值型进行排序,默认使用字符串型排序

      -r:反向排序

        -t:指定分隔符,默认是制表符

      -k n[,m]:按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾)

    例如:sort -t ":" -k 3,3 /etc/passwd (一般不需要)

      指定分隔符是 “:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序(用户UID排序)

06、统计命令  =>  wc [选项] 文件名

    选项:

      -l:只统计行数

      -w:只统计单词数

      -m:只统计字符数

      

时间: 2024-10-11 16:45:57

Linux Shell编程 - 字符截取命令的相关文章

Linux学习 -- Shell编程 -- 字符处理命令

sort排序命令 sort [选项] 文件名 -f 忽略大小m写 -n 按数值型,默认字符串型 -r 反向 -t 指定分隔符 -k n[,m] 指定字段范围,默认行尾 eg. sort -n -t ":" -k 3,3 /etc/passwd wc统计命令 wc [选项] 文件名 -l   行数 -w    单词数 -m    字符数

Linux Shell 编程 教程 常用命令

概述: 一: 1. 2. 3. 二: 1. 2. 3. 三: 1. 2. 3. 四: 1. 2. 3. 五: 1. 2. 3. 六: 1. 2. 3. 七: 1. 2. 3. 八: 1. 2. 3. 九: 1. 2. 3. 十: 1. 2. 3. 原文地址:https://www.cnblogs.com/jackadam/p/8594549.html

第10章 Shell编程(2)_字符截取命令

2. 字符截取命令 2.1 cut字段提取命令(grep提取行,cut提取列) (1)cut命令:#cut [选项] 文件名 选项: -f 列号:提取第几列: -d 分隔符:按照指定分隔符分割列,默认是制表符分隔. (2)应用举例 //测试文件(student.txt) ID Name gender PHP Linux MySQL Average 1 ZS M 82 95 86 87.66 2 LS F 74 96 87 85.66 3 WW M 99 83 93 91.66 ①#cut –f

Linux Shell 编程实战技巧

目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务.这使得 Linux Shell 开发技能成为开发人员的一项重要的.有竞争力的技能.本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧. 避免定时任务脚本的常见问题 很多脚本在实际使用的时候往往是以定时任务的方式运行,而非手工运行.但是实现同样功能的脚本在这两种运行方式下可能遇到的问题不尽相同. 以定时任务方式运行的脚本往往会遇

Linux Shell编程之二选择结构

Shell编程学习之二 一.bash的条件测试 测试方法或者说测试书写: test EXPR [ EXPR ] [[ EXPR ]] 例如:测试变量 User_Name 的之是否为root test $User_Name="root" [ $User_Name == "root" ] [[ $User_Name == "root" ] 根据比较时操作数的类型,测试类型分为: 测试类型 运算符 运算符所代表的意义 示例 整形测试 -gt -lt -

Linux Shell编程讲解

Shell编程总结 Seq命令总结用法: 选项: -f, --format=格式使用printf 样式的浮点格式 -s, --separator=字符串使用指定字符串分隔数字(默认使用:\n) -w, --equal-width 在列前添加0 使得宽度相同实例 来自: http://man.linuxde.net/seq 1.横着打印数字 2.竖着打印数字: 3.用seq输出,交给bc命令计算 注:可以计算加减乘除,浮点数,进制转换 Echo命令用法总结: echo 选项列表 选项 描述 -n

Linux Shell编程之五字符串的处理

shell编程之字符串处理 在 shell 中,由于是一种弱类型的语言,在没有事先申明变量类型的情况下,所有的变量都是字符串.所以对字符串的处理就显得相当重要了. 下面介绍常见的对字符串处理的操作. 一.字符串切片 ${string_var:offest:length},类似于数组元素的提取. # 这里的string_var是一个变量,offest 是字符串的开始偏移量,length是切去字符串的长度 var=dhcpd:x:177:177:DHCP server:/:/sbin/nologin

关于linux shell编程,alias rm='cp [email protected] ~/backup; rm [email protected]'

书上的这个例子需要在ubuntu的低版本的系统才支持,现在基本上都不支持了,想实现也很简单自己写一个脚本先备份再删除. alias也只是做了一次替换alias rm='cp [email protected] ~/backup; rm [email protected]' rm text.txt被转换成了cp  [email protected] ~/backup; rm [email protected] text.txt即cp  ~/backup; rm  text.txt可以看到text.

京峰Linux Shell编程从入门到精通

课程介绍:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行. -------------------课程目录------------------- <Shell编程从入门到精通> ├1.linux下shell编程基础入门_(new).mp4├2.Shell编程之变量及LAMP导航菜单编写_(new).mp4├3.Shell编程之IF条件语句各种案例演练_(new).mp4├4.使用if条件语句编写MySQL备份脚本_(new).mp4