LInux:shell 命令:字符串截取

1、cut命令截取

使用说明

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

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

主要参数

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d一起使用,指定显示哪个区域。

-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。

1)、使用cut -c 可以截取以字符为单位的串区间


注:以 - 作为分隔符是截取对应区间内的串

       以 ,作为分隔符是截取对应位置的字符

2)、cut -b 用法和cut -c 相同,不同的是以字节为单位


2、# 号截取,删除左边字符,保留右边字符。

echo ${var#*//}

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符


3、 ## 号截取,删除左边字符,保留右边字符。

echo ${var##*/}

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符


4、 %号截取,删除右边字符,保留左边字符

echo ${var%/*}

%/* 表示从右边开始,删除第一个 / 号及右边的字符


5、%% 号截取,删除右边字符,保留左边字符

echo ${var%%/*}

%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符


6、 从左边第几个字符开始,及字符的个数

echo ${var:0:5}

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。


7、 从左边第几个字符开始,一直到结束。

echo ${var:7}

其中的 7 表示左边第8个字符开始,一直到结束。


8、从右边第几个字符开始,及字符的个数

echo ${var:0-7:3}

其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。


8. 从右边第几个字符开始,一直到结束。

echo ${var:0-7}

表示从右边第七个字符开始,一直到结束。


注:左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cocostuff10k数据集介绍_(六)COCO数据集的简单介绍

COCO通过大量使用Amazon Mechanical Turk来收集数据。COCO数据集现在有3种标注类型&#xff1a;object instances(目标实例), object keypoints(目标上的关键点), 和image captions(看图说话)&#xff0c;使用JSON文件存储。比如下面就是Gemfield下载的COCO 2017年训练集中的标…

数据结构:单链表操作之如何判断链表是否带环及相关操作

//判断链表是否有环 int HasCircle(Node* pHead) { Node* lowpHead; Node* fastpHead; while(fast ! NULL && fast->next ! NULL) { lowlow->next; fastfast->next->next; if(lowfast) return 1; } return 0; } 时…

smart700iev3 程序下载设置_分享一款Aira2下载工具

Qdown&#xff0c;一款新的Aria2下载器&#xff0c;Aria2是一个命令行的下载器&#xff0c;非常强大&#xff0c;本软件套壳了Aria2&#xff0c;并且制作了界面版本&#xff0c;使用体验不错。Qdown是一款基于Aria2的Windows文件下载器&#xff0c;几乎支持现阶段所有的下载协议…

引用js_js值和引用

值和引用在许多编程语言中&#xff0c;赋值和参数传递可以通过值复制或者引用复制来完成&#xff0c;这取决于我们使用什么语法。例如&#xff0c;在 C 中如果要向函数传递一个数字并在函数中更改它的值&#xff0c;就可以这样来声明参 数 int& myNum&#xff0c;即如果传递…

]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)

1、判断两个链表是否相交&#xff0c;若相交&#xff0c;求交点。&#xff08;假设链表不带环&#xff09; 两个指针同时指向两个链表&#xff0c;分别依次往后遍历链表到最后一个节点&#xff0c;如指针的值相同&#xff08;即节点地址相同&#xff09;&#xff0c;反之没有交…

某月某日前包括当天吗_10月26日,你真的理解了导数的定义吗?(答思考题送猫王小音箱)...

点击并关注上方“鸡汤斋”&#xff0c;与斋主一起成长特别说明&#xff1a;公众号的“一天一题”都是从历年期中、期末&#xff0c;以及各个高等学校或者国家统一的考研试题中抽取的题目进行的详细讲解。如果您每天在固定的时间(无聊时、吃饭时、睡觉前、早上起床前、“吃鸡”前…

数据结构:栈和列之如何用两个队列实现一个栈?两个栈实现一个队列?

1、栈和队列分析 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行 队列(Queue)也是一种运算受限的线性表&#xff0c;它的运算限制与栈不同&#xff0c;是两头都有限制&#xff0c;插入只能在表的一端进行(只进不出)&#xff0c;而删 …

人脸识别进水_万维|人脸识别闸机怎么选?

如今人脸识别在安防行业的逐渐普及&#xff0c;现在已经有越来越多的场景都已应用人脸识别闸机&#xff0c;像办公大厦啊&#xff0c;景区门口&#xff0c;社区门口等&#xff0c;什么都不用带&#xff0c;只要刷个脸就行&#xff0c;方便快捷又省事。那么&#xff0c;你又对人…

基于udp的网络群聊系统

一、系统简介 这是一个基于udp协议的网络群聊系统&#xff0c;为什么选择udp协议呢&#xff1f;这就需要了解TCP协议与udp协议。 1&#xff09;TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09; 是面向连接的协议&#xff0c;也就是说&…

c 打印 callback 函数名_Go 中的函数

1. 函数参数和返回值的写法如果有多个参数是同一个类型&#xff0c;可以简略写&#xff1a;func testReturnFunc(v1,v2 int)(int,int) {x1 : 2 * v1x2 : 3 * v2return x1,x2 }Go 还支持命名返回值的方式。命名返回值作为结果形参&#xff08;result parameters&#xff09;被初…

二叉树面试题:判断树是否为完全二叉树和求二叉树的镜像

1、判断二叉树是否为完全二叉树&#xff1a; 层序遍历&#xff0c;从上到下&#xff0c;从左到右&#xff0c;遍历二叉树&#xff1b; 当遇到一个节点的左子树为空时&#xff0c;则该节点的右子树为空和后面遍历的节点都为叶子节点&#xff0c;否则不是完全二叉树。 当该节点…

数据结构:将二叉搜索树转换成一个排序的双向链表

1、将二叉搜索树转换成一个排序的双向链表。提示&#xff1a;要求不能创建任何新的结点&#xff0c;只能调整树中结点指针的指向&#xff0c;也就是left当prev&#xff0c;right当next。--中序线索化的变型。 Node* BSTreeToList() {if(_pRoot NULL) return NULL; Node* p…

Android NDK 使用第三方静态库(转)

源&#xff1a;Android NDK 使用第三方静态库转载于:https://www.cnblogs.com/LittleTiger/p/4556382.html

[原创]好买财富接口测试自动化实践

[原创]好买财富接口测试自动化实践

spring boot security 权限用postman测试_Spring Security(五):前后端权限控制详解

文章回顾&#xff1a;Spring Security&#xff08;一&#xff09;&#xff1a;整合JWT实现登录功能Spring Security&#xff08;二&#xff09;&#xff1a;获取用户权限菜单树Spring Security&#xff08;三&#xff09;&#xff1a;与Vue.js整合Spring Security&#xff08;四…

数据结构:排序算法之插入排序

1、直接插入排序 void InsertSort(int array[], int size) {for(int idx1; idx<size; idx){int temp array[idx];int end idx-1;while(end>0 && array[end] > temp){array[end1] array[end];--end;}array[end1] temp; } }2、希尔排序 void ShellSort(i…

函数传参之商品价格计算—JS学习笔记2015-6-6(第50天)

经常我们可以看到很多网站会有多个相同功能的模块&#xff0c;比如淘宝首页的轮播&#xff0c;比如新浪首页的tab切换&#xff1b; 那么可以看出这些地方在HTML结构上是类似的&#xff0c;所以我们可以考虑用一块功能代码去实现&#xff0c;而不同是仅仅是传递参数的不同&#…

JavaScript 几种简单的table切换

方法一&#xff1a;for循环if判断当前点击与自定义数组是否匹配 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>tab切换</title><style type"text/css">button {width:120px;h…

和aes相比较有哪些特点_“黑枸杞”和“红枸杞”相比较,功效方面究竟存在哪些差别?...

对于枸杞&#xff0c;其功效的广泛&#xff0c;相信大家都会有所耳闻。不过&#xff0c;对于它的一些区分&#xff0c;可能大家并不会那么熟悉&#xff0c;尤其是在市场上&#xff0c;比较流行的有两类枸杞&#xff0c;一类是红色的&#xff0c;还有一类是黑色的。对于这两种颜…

数据结构:排序算法之堆排序和选择排序

1、堆排序 void HeapAdjust(int array[], int root, int size) {int parent root;int child root*2 1;while(child < size){ //还剩三个数据时&#xff1a;1&#xff08;0&#xff09;&#xff0c; 2&#xff08;1&#xff09;&#xff0c; 3&#xff08;2&#xff09;左…