Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3298853
  • 博文数量: 754
  • 博客积分: 10132
  • 博客等级: 上将
  • 技术积分: 7780
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:36
文章分类

全部博文(754)

文章存档

2012年(3)

2011年(39)

2010年(66)

2009年(167)

2008年(479)

我的朋友

分类: LINUX

2008-05-27 22:56:33

字符串的处理:

1,截取

方法一:

echo $a|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 【程序编程相关:《学VC 编游戏》重点算法解疑·前言

【推荐阅读:《学VC、编游戏》重点算法解疑·穿越丛林

或者 【扩展信息:《舰艇游戏中的DEMON如何计算目标航速

$string

4,翻转

方法一:

使用rev命令

方法二:

编写脚本实现

#!/usr/bin/awk -f

################################################################

# description : duplicate rev in awk

################################################################

{

revline = ""

for (i=1;i<=length;i++)

{

revline = substr(,i,1) revline

}

}

end{print revline}

5,匹配

grep

egrep

fgrep

6,排序

7,替换

bash中:

%x=abcdabcd

%echo $ # 只替换一个

bbcdabcd

%echo $ # 替换所有

bbcdbbcd
 
?? 【程序编程相关:《学VC 编游戏》重点算法解疑·前言

【推荐阅读:《学VC、编游戏》重点算法解疑·穿越丛林

如何替换/ 【扩展信息:《舰艇游戏中的DEMON如何计算目标航速

使用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
阅读(910) | 评论(0) | 转发(0) |
0

上一篇:shell字符串处理

下一篇:Diff 命令

给主人留下些什么吧!~~