shell 字符串的处理(截取,连接,匹配,替换,翻转)

发布时间:2020-06-14编辑:脚本学堂
本文介绍下,shell对字符串进行处理的一些例子,包括字符串的截取,连接,匹配,替换,翻转等。有需要的朋友参考下。

本节分享下,shell字符串处理的内容,包括:截取,连接,匹配,替换,翻转等。

1,字符串的截取
方法一:
 

复制代码 代码示例:
echo $a|linuxjishu/13830.html target=_blank class=infotextkey>awk ’{print substr( ,1,8)}’
 

substr是awk中的一个子函数,对第一个参数的进行截取,从第一个字符开始,共截取8个字符,如果不够就从第二个字符中补充

方法二
 

复制代码 代码示例:
echo $a|cut -b2-8
 

cut:对标准输入的字符串进行处理
cut -bn-m:以byte为单位,从第n个byte开始,取m个
cut -bn,m:以byte为单位,截取第n,m个byte
cut -b-n,m:以byte为单位,截取1-n,和第m个
-c:以charactor为单位
-d:指定分隔符,默认为tab
-s:使标准输入中没有delimeter
cut -f1:截取第1个域

方法三
a=123456
echo $

方法四
使用sed截取字符串的最后两位
 

复制代码 代码示例:
echo $test |sed ’s//(.*/)/(../)$//’
 

截取字符串的前2位
 

复制代码 代码示例:
echo $test |sed ’s/^/(../)/(.*/)//’

2,字符串的比较
好像没有什么可以比较的

3,字符串的连接
$a$b
或者
$string

4,字符串的翻转
方法一:
使用rev命令

方法二:
编写脚本实现
 

复制代码 代码示例:
#!/usr/bin/awk -f
{
revline = ""
for (i=1;i<=length;i++)
{
revline = substr(,i,1) revline
}
}
END{print revline}

5,字符串的匹配
grep
egrep
fgrep

6,字符串的排序
sort

7,字符串的替换
bash中:
 

复制代码 代码示例:
%x=abcdabcd
%echo $ # 只替换一个
bbcdabcd
%echo $ # 替换所有
bbcdbbcd
 

sh中:
??
如何替换/
使用sed
替换所有匹配
 

复制代码 代码示例:
echo $test |sed ’s/xx/yy’
 

替换单个匹配
??

8,得到字符串的长度:
bash当中
$
或者
expr "$VAR" : ’.*’

9,判断字符串是否为数字

10,得到字符串中某个字符的重复次数
 

复制代码 代码示例:
echo $a |tr "x" "/n" |wc -l
 

得到的结果需要减去1
或者
 

复制代码 代码示例:
echo $a |awk -F"x" ’{print NF-1}’
 

11,得到字符串中某个string的重复次数
12,将一批文件中的所有string替换
 

复制代码 代码示例:
for i in file_list
do
vi $i <<-!
:g/xxxx/s//XXXX/g
:wq
!
done
 

13,如何将字符串内每两个字符中间插入一个字符
使用sed
 

复制代码 代码示例:
echo $test |sed ’s/../&[insert char]/g’

您可能感兴趣的文章:

shell截取字符串的例子
有关字符串截取的shell脚本(多个方法)
shell字符串截取的几种方法
使用awk截取某区域的数据的例子
使用awk截取某时间段内的日志的单行命令
有关shell中字符串截取的方法总结
awk截取某区域数据
截取每小时随机的100条日志的shell脚本
使用awk截取日志-抽取条件在下面