linux cut的用法
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的用法的更多相关文章
- Linux cut命令用法
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为: cut [-bn] [file] 或 cu ...
- Linux中find用法
Linux中find用法 linux常用命令 find -name april* 在当前目录下查找以april开始的文件 find -name april* fprint file 在当前目录下查找以 ...
- (转)linux paste命令用法详解
linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...
- linux cut
参考:Linux cut 命令详解_Linux_脚本之家 (jb51.net) 参考:cut命令_Linux cut 命令用法详解:连接文件并打印到标准输出设备上 (linuxde.net)
- (转) linux之sort用法
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...
- linux mail命令用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- linux expect, spawn用法小记
linux expect, spawn用法小记_IT民工_百度空间 linux expect, spawn用法小记 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://sys ...
- linux下automake用法
linux下automake用法 2017年02月06日 09:21:14 阅读数:3684 标签: makemakefilegnulinux 作为Linux下的程序开发人员,大家一定都遇到过Ma ...
- Linux上case用法
Linux上case用法示例: #!/bin/bash # This is a script for test case ASK_COUNT=$ #从参数获取该变量的值 # if [ -z " ...
随机推荐
- Linux 系统日志和系统信息常用命令介绍
日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 / ...
- 科普 AF摄像头
AF(Auto Focus)自动对焦:自动对焦有两种方式,根据控制原理分为主动式和被动式两种.主动式自动对焦通过相机发射红外线,根据反射回来的射线信号确定被摄体的距离,再自动调节镜头,实现自动对焦.被 ...
- 重新整理 .net core 实践篇————依赖注入应用之生命法则[三]
前言 该章演示依赖注入中,对象的释放行为. 紧接上文表示,演示: services.AddSingleton<IMySingletonService, MySingletonService> ...
- Git 分支基本命令
1. 查看当前分支 (git branch) 2. 创建分支 (git branch 分支名) 3.切换分支(git checkout 分支名) 4.分支上的常规操作 5.分支的合并 (git che ...
- Python小白的数学建模课-A1.2021年数维杯C题(运动会优化比赛模式探索)探讨
Python小白的数学建模课 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨. 运动会优化比赛模式问题,是公平分配问题 『Python小白的数学建模课 @ Youcans』带你从数模小白成为 ...
- unity用json和服务器数据交互
第一种类型:服务器json数据是个对象 /// <summary> /// 获取用户信息初始化信息 /// </summary> void InitUserMessage() ...
- Ubuntu 16.04安装PyCharm
PyCharm一个是Python集成开发环境,它既提供收费的专业版,也提供免费的社区版本.PyCharm带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Proj ...
- 如何优雅的做参数校验-JSR330
前言: 本文不是讲@Validate.@Valid是如何使用的.区别是什么,想看这些内容的请换篇文章. 背景: 当前端传过来的参数是进行对称性加密.base64加密等处理后过的参数时,在control ...
- Step By Step(Lua函数)
Step By Step(Lua函数) 一.函数: 在Lua中函数的调用方式和C语言基本相同,如:print("Hello World")和a = add(x, y).唯一的 ...
- Go语言协程并发---管道信号量应用
package main import ( "fmt" "math" "strconv" "time" ) /* ·10 ...