首页 > 编程知识 正文

linux截取两个字符串之间的,linux替换字符串命令

时间:2023-05-04 13:26:02 阅读:51292 作者:3470

在Linux上实现字符串剪切大致分为两种,使用命令实现剪切,使用工具实现剪切。 具体的剪切方法如下

剪切a,#可以删除左边的字符,保留右边的字符

从左边的开头开始,删除以前的所有字符

str=http://www.Baidu.com/index.html

echo ${str#*/} # right first /

输出:

/www.baidu.com/index.html

剪切b,##可以删除左边的字符,保留右边的字符

从最右边的中删除以前的所有字符

str=http://www.Baidu.com/index.html

echo ${str##*/} # rightest /

输出:

index.html

可以剪切c、%,删除右侧的字符,保留左侧的字符

删除从右边开头到右边的所有字符

str=http://www.Baidu.com/index.html

echo ${str%/*} # left firft /

输出:

http://www.baidu.com

可以剪切d、%%,删除右侧的字符,保留左侧的字符

删除从左开头到右的所有字符

str=http://www.Baidu.com/index.html

echo ${str%%/*} # leftest /

输出:

http:

e、区间剪切

剪切第0~6个字符

str=http://www.Baidu.com/index.html

echo ${str:0:6}

输出:

http:/

f、正向区间剪切到结束

截取第七个字的开头到结尾

str=http://www.Baidu.com/index.html

echo ${str:7}

输出:

www.baidu.com/index.html

g、反向区间切取

剪切倒数第0到第7个字符的前五个

str=http://www.Baidu.com/index.html

echo ${str:0-7:5}

输出:

ex.ht

h、反向剪切,直至结束

从倒数第十个字符到字符串末尾

str=http://www.Baidu.com/index.html

echo ${str:0-10}

输出:

index.html

I、使用cut命令实现字符串的剪切

cut [选项]

可选:----b----字节

-c ----文字

-f ----域

文件已创建。 内容如下。

[ linuxidc @ localhost3_ 26 ] $ cat file

abcdefg

1234567

poiuytr

以下是使用cut片段的示例。

[ linuxidc @ localhost3_ 26 ] $ cat文件| cut-B3

C

3

I

[ linuxidc @ localhost3_ 26 ] $ cat文件| cut-B- 3

abc

123

波伊

[ linuxidc @ localhost3_ 26 ] $ cat文件| cut-B3 -

cdefg

34567

iuytr

[ linuxidc @ localhost3_ 26 ] $ cat文件| cut-B3-5

cde

345

iuy

[ linuxidc @ localhost3_ 26 ] $ cat文件| cut-B3-5,7

cdeg

3457

iuyr

对于单字节,-b和-c的工作方式相同,但如果文本中出现中文,-c可以正确输出一个汉字,而使用-b选项输出的是乱码。 因为中文是2字节。 为了解决此问题,通常将-b选项和-n选项结合使用。 -n用于告诉cut要剪切的是n字节字符。

说明域的作用。 /etc/passwd文件包含所有用户信息,但如果您仔细理解,您会发现每个长字符串都由:分隔。 此文件中的数据被认为是由:分隔的域。 对字段分隔符使用-d选项,指定-f之后的数字格式与-b完全匹配。 【cut的域分隔符只能指定一个字符】

123456789101112 [ linuxidc @ localhost3_ 26 ] $ cat/etc/passwd|head-n5

root : x :03360033600336003360 root :/root :/bin/bash

bin : x :13360133601336013360 bin :/bin :/sbin/nolog in

daemon : x :23360233602336023360 daemon :/sbin :/sbin/nolog in

ADM : x :43360 ADM :/var/ADM :/sbin/nolog in

LP : x 3360433607336073360 LP :/var/spool/lpd :/sbin/nolog in

[ linuxidc @ localhost3_ 26 ] $ cat/etc/passwd|head-n5|cut-d :-f1

路线

瓶子

魔神兽

adm

lp

多嘴多舌,请看下面的例子

[linuxidc@localhost 3_26]$ ps

PID TTY TIME CMD

5630 pts/2 00:00:00 bash

5739 pts/2 00:00:00 ps

[ linuxidc @ localhost3_ 26 ] $ PS|cut-B4

I

3

4

4

虽然只有3行,但cut中会出现4行内容。 其原因是,每个命令实际上是父bash单独创建的进程,cut也不例外。 内置命令除外。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。