p.p1 { margin: 0; font: 12px ".PingFang SC Semibold"; color: rgba(53, 53, 53, 1) }
p.p2 { margin: 0; font: 12px "Helvetica Neue" }
p.p3 { margin: 0; font: 12px ".PingFang SC" }
p.p4 { margin: 0; font: 21px ".PingFang SC Semibold"; min-height: 22px }
p.p5 { margin: 0; font: 21px ".PingFang SC Semibold" }
p.p6 { margin: 0; font: 16px ".PingFang SC"; color: rgba(53, 53, 53, 1) }
p.p7 { margin: 0; font: 16px ".PingFang SC"; color: rgba(53, 53, 53, 1); min-height: 19px }
p.p8 { margin: 0; font: 16px ".PingFang SC Semibold"; color: rgba(53, 53, 53, 1) }
p.p9 { margin: 0; font: 14px ".PingFang SC"; color: rgba(53, 53, 53, 1) }
p.p10 { margin: 0; font: 13px ".PingFang SC"; color: rgba(53, 53, 53, 1) }
span.s1 { font: 12px "Helvetica Neue" }
span.s2 { font: 12px ".PingFang SC" }
span.s3 { font: 12px ".PingFang SC"; color: rgba(53, 53, 53, 1) }
span.s4 { color: rgba(53, 53, 53, 1) }
span.s5 { font: 21px ".PingFang SC" }
span.s6 { font: 16px ".PingFang SC" }

问题:

路径名为 /home/lxy/hhhhh-a.bbb.cc.d (格式类型固定)

其中 现在我只想要 a.bbb.cc 这一段。

其中 hhhhh- 格式固定 ,a.bbb.cc.d 这一段长度有浮动,但前面的 a. 和后面的 .d 是固定的

解决方法:

1.使用sed命令:echo '/home/lxy/hhhhh-a.bbb.cc.d'|sed -n 's/.*hhhhh-\(.*\)\.d/\1/p'

2.使用cut命令:echo "/home/lxy/hhhhh-a.bbb.cc.d" | cut -d'-' -f2|cut -d'.' -f1-3

3.使用awk命令:echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F'-' '{print $2}'|awk -F'.' '{print $1"."$2"."$3}'

cut用法:

cut 选项 字符串/文件

选项:

  • -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
  • -f:显示指定字段的内容;
  • -b:仅显示行中指定字节范围的内容;
  • -c:仅显示行中指定字符范围的内容;
  • -n:与“-b”选项连用,不分割多字节字符;
  • -s:不打印不包含分割符的行
  • --complement:显示指定字段以外的字段
  • --out-delimiter=<字段分隔符>:指定输出内容的字段分割符;默认输出内容的分隔符是输入的分隔符,但使用该参数指定后,可以修改输出内容的分隔符

指定范围的参数意义:

  • N-:从第N个字节、字符、字段到结尾;
  • N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
  • -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

举栗:

知识点 命令 输出
使用-d指定字段分隔符,使用-f获取指定字段

echo "/home/lxy/hhhhh-a.bbb.cc.d" |awk -F/ '{print $NF}'| cut -d'.' -f2  bbb
echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1,2  hhhhh-a.bbb

echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1,2,3

或echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1-3

hhhhh-a.bbb.cc
使用--complement参数提取指定字段以外的字段

echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1-3 --complement

 d
使用-c参数获取指定字符范围内的内容

echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -c5-

h-a.bbb.cc.d
-s:不打印不包含分割符的行

cat aa.txt

aadbdg_arv

aavf

nrra_rr+rr_ee

cut -s -d'_' -f1- aa.txt

aadbdg_arv

nrra_rr+rr_ee

--out-delimiter=<字段分隔符>:指定输出内容的字段分割符

echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' --output-delimiter=* -f1-3

hhhhh-a*bbb*cc

linux cut的用法的更多相关文章

  1. Linux cut命令用法

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为: cut  [-bn] [file] 或 cu ...

  2. Linux中find用法

    Linux中find用法 linux常用命令 find -name april* 在当前目录下查找以april开始的文件 find -name april* fprint file 在当前目录下查找以 ...

  3. (转)linux paste命令用法详解

    linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...

  4. linux cut

    参考:Linux cut 命令详解_Linux_脚本之家 (jb51.net) 参考:cut命令_Linux cut 命令用法详解:连接文件并打印到标准输出设备上 (linuxde.net)

  5. (转) linux之sort用法

    sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...

  6. linux mail命令用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

  7. linux expect, spawn用法小记

    linux expect, spawn用法小记_IT民工_百度空间 linux expect, spawn用法小记 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://sys ...

  8. linux下automake用法

    linux下automake用法 2017年02月06日 09:21:14 阅读数:3684 标签: makemakefilegnulinux   作为Linux下的程序开发人员,大家一定都遇到过Ma ...

  9. Linux上case用法

    Linux上case用法示例: #!/bin/bash # This is a script for test case ASK_COUNT=$ #从参数获取该变量的值 # if [ -z " ...

随机推荐

  1. ubuntu中安装meld工具-(转自sukhoi27smk)

    Ubuntu下文件/目录对比的软件Meld可能有很多用户还不是很熟悉,下文就给大家介绍如何安装Meld和移植到Gedit下.具体内容如下所述. Meld允许用户查看文件.目录间的变化.很容易移植到Ge ...

  2. 网上的说TB6560存在的问题

    https://www.amobbs.com/thread-5506456-2-1.html

  3. Docker的镜像理解以及容器的备份、恢复和迁移操作

    Docker的镜像理解以及容器的备份.恢复和迁移操作 这篇文章主要介绍了Docker的镜像理解以及容器的备份.恢复和迁移操作,覆盖很多原理知识以及容器的重要操作步骤,极力推荐!需要的朋友可以参考下 D ...

  4. 三大主流开源硬件对比:Arduino vs Raspberry Pi vs BeagleBone

    http://www.elecfans.com/emb/361236_3.html 下文摘自上面的链接 软硬件整合是今年一再被提及的话题,如今我们也可以看到不少硬件创业的成功案例,比如Jawbone ...

  5. 抓住异步编程async/await语法糖的牛鼻子: SynchronizationContext

    长话短说,本文带大家抓住异步编程async/await语法糖的牛鼻子: SynchronizationContext 引言 C#异步编程语法糖async/await,使开发者很容易就能编写异步代码. ...

  6. ASP.Net Core5.0 EF Core使用记录

    打算把之前开源的 基于ASP.Net Core开发一套通用后台框架 重新用ASP.Net Core 5写一遍,也算是巩固一下旧知识,学习下新知识.本文是项目搭建初期关于 EF Core 的使用记录 1 ...

  7. 机器学习算法之K近邻算法

    0x00 概述   K近邻算法是机器学习中非常重要的分类算法.可利用K近邻基于不同的特征提取方式来检测异常操作,比如使用K近邻检测Rootkit,使用K近邻检测webshell等. 0x01 原理   ...

  8. GO学习-(23) Go语言操作MySQL + 强大的sqlx

    Go语言操作MySQL MySQL是业界常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据 ...

  9. Nginx 配置实例-配置高可用

    Nginx 配置实例-配置高可用 1. 实现效果 2. 两台机器 nginx 的安装 2.1 192.168.25.120 中 nginx 的安装 2.1.1 安装 pcre 依赖 2.1.2 安装其 ...

  10. 夜晚场景图像ISP增强算法

    夜晚场景图像ISP增强算法 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)摄像头标定参数(中心位置(x,y)和5个畸变 系数(2 ...