cut、printf、awk、sed在linux中都是用来处理文本的命令,接下来一个一个看。

一、cut命令

  cut [选项] 文件名

  选项:

    

    主要使用一下两个参数,若是只使用 -f 则默认的分割符为 \t

    -f 列号:提取第几列

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

  命令说明:

  cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

  如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

  例:cut -f 2,4 stu.txt // 取出第2,4列,按 \t 分割

  例:cut -f 2 -d ":" stu.txt // 取出第2列,按 : 分割

  注意:cut是由局限性的,若是数据中间有好多的空格,而你又是按照空格来切分的,这个时候会有好多的空白数据,但是awk可以解决这个问题。

二、printf命令

  printf '输出类型输出格式' 输出内容

  输出格式

    %ns  // 输出字符串,n为输出几个字符

    %ni  // 输出整数,n为输出几个数字

    %m.nf  // 输出浮点数,m为输出的整数位,n为输出的小数位

  输出格式

   

  使用案例

    printf '%s %s %s\n' 1 2 3 4 5 6

    结果:

      1 2 3

      4 5 6

    printf '%s\t%s\t%s\n' $(cat stu.txt)

     结果:

      原数据

      

      执行后

      

三、awk命令

  AWK是一种处理文本文件的语言,是一个强大的文本分析工具。

  之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。

  

  直接上例子:

  awk '{printf $2 "\n"}' a.txta.txt // 取出第2列

  BEGIN

  awk 'BEGIN{printf "this is a printf \n"} {printf $2 " " $3 "\n"}' student.txt

  结果:在开始先输出

    this is a printf

    NAME GENDER

    优优 女

    阿斌 男

    堂哥 女

  END

  awk 'END{printf "this is a printf \n"} {printf $2 "\t" $3 "\n"}' student.txt

  结果:在最后结束后输出

    NAME GENDER

    优优 女

    阿斌 男

    堂哥 女

    this is a printf

  FS=":" // 按:号切割

  awk 'BEGIN{FS="-"}{printf $1 "\n"}' a.txt

  条件判断

  awk 'BEGIN{FS="-"}$2>10{printf $2 "\n"}' a.txt

  条件1{执行1}条件2{执行2}

  

四、sed命令

  Linux sed命令是利用script来处理文本文件。

  sed可依照script的指令,来处理、编辑文本文件。

  语法

  sed [-hnV][-e<script>][-f<script文件>][文本文件] 

  参数

  

  动作说明

  

  例子: 

    sed -n '2p' student.txt // 查看第二行

    sed -i '1a xxxxxxx' a.txt // -i会操作到文件,1a 追加第一行

    sed -i '1c xxxxxxx' a.txt // 替换第一行的数据

    sed -i '1d' a.txt // 删除第一行

    sed '4s/78/98/g' // 把4列的78换成98

    sed -e '1s/xxx//g;2s/xxx//g'// 把第一列的xxx和第二列的xxx替换为空

    sed -i -e '1s/xxx//g;2s/xxx//g'// 把第一列的xxx和第二列的xxx替换为空,操作到文件

 

linux中cut、printf、awk、sed命令的更多相关文章

  1. [Shell]字符截取命令:cut, printf, awk, sed

    ------------------------------------------------------------------------------------------- [cut命令] ...

  2. cut printf awk sed grep笔记

    名称 作用 参数 实例 cut 截取某列,可指定分隔 -f 列号 -d 分隔符 cut -d ":" -f 1, 3 /etc/passwd 截取第一列和第三列 printf pr ...

  3. linux中cut命令与tr命令

    目录 一:linux中cut命令 1.cut 命令作用 2.参数 3.参数案例解析: 二:tr命令 1.tr命令作用 2.tr命令格式 3.tr命令参数 4.案例解析: 一:linux中cut命令 1 ...

  4. Linux中系统检测工具top命令

    Linux中系统检测工具top命令 本文转自:https://www.cnblogs.com/zhoug2020/p/6336453.html 首先介绍top中一些字段的含义: VIRT:virtua ...

  5. linux中没有dos2UNIX或者UNIX2dos命令怎么解决办法

    linux中没有dos2UNIX或者UNIX2dos命令怎么解决办法 http://blog.csdn.net/w616589292/article/details/38274475 dos2unix ...

  6. linux中常用的60个命令及作用详解

    Linux 必学的 60 个命令 Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在 Linux 系统上工作离不开使用系统 ...

  7. Linux课程---12、linux中内存指令(top命令的作用是什么)

    Linux课程---12.linux中内存指令(top命令的作用是什么) 一.总结 一句话总结: top实时观察进程.内存和CPU情况 1.电脑出现反应慢情况,最先想到的是什么? 内存 2.linux ...

  8. linux中Jenkins启动/重启/停止命令

    简要记录一下Linux 中Jenkins启动/重启/停止命令 启动service jenkins start1重启service jenkins restart1停止service jenkins s ...

  9. 详解Linux中的cat文本输出命令用法

    作系统 > LINUX >   详解Linux中的cat文本输出命令用法 Linux命令手册   发布时间:2016-01-14 14:14:35   作者:张映    我要评论   这篇 ...

随机推荐

  1. 24.HashSet

    在前篇博文(HashMap)中详细讲解了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素.所以如果对HashMap比较熟悉,那么Has ...

  2. day13_雷神_前端01

    #前端 html 服务器端返回的就是一个字符串,浏览器根据html规则去渲染这个字符串. html 是超文本标记语言,相当于定义统一的一套规则,大家都遵守它,这样就可以让浏览器根据标记语言的规则去解释 ...

  3. Django Model 进阶

    回顾: 定义 models settings.py激活app才能使用models migrations:版本控制,当更改库表结构时可以处理数据 增删改查 常见Field 模型的价值在于定义数据模型,使 ...

  4. WPF简单的分页控件实现

    XAML代码(使用ItemsControl控件实现): <UserControl x:Class="SunCreate.Vipf.Client.UI.CityDoor.PageCont ...

  5. JVM自动内存管理机制——Java内存区域(下)

    一.虚拟机参数配置 在上一篇<Java自动内存管理机制——Java内存区域(上)>中介绍了有关的基础知识,这一篇主要是通过一些示例来了解有关虚拟机参数的配置. 1.Java堆参数设置 a) ...

  6. TensorFlow 神经网络教程

    TensorFlow 是一个用于机器学习应用程序的开源库.它是谷歌大脑的第二代系统,在取代了近源的 DistBelief 之后,被谷歌用于研究和生产应用.TensorFlow 提供了很多种语言接口,包 ...

  7. [wxgl] load image fail

    微信小游戏 let loader = new THREE.TextureLoader() let texture = loader.load('./images/bullet.png') 报错 参考 ...

  8. ssh命令-使用密钥文件进行登陆

    在win上面可以使用XSHELL来登录类似于阿里云这样的安全服务器,在ubuntu上面就可以使用系统自带的命令工具来连接 使用命令 ssh -i key.pem [server] 实例如下: ssh ...

  9. 使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[开发篇]

    在以前的项目中,就曾听说过swoole的大名,想用来进行消息推送,但是当时只是有了初步的了解,并不敢大胆的运用到线上产品.所谓 识不足则多虑,威不足则多怒.所以就是怕,只能跟领导说了运用极光的推送功能 ...

  10. Spring boot 配置文件参数映射到配置类属性

    [参考文章]:SpringBoot之@EnableConfigurationProperties分析 [参考文章]:在Spring Boot中使用 @ConfigurationProperties 注 ...