ITPub博客

首页 > 应用开发 > IT综合 > shell中字符串的处理

shell中字符串的处理

原创 IT综合 作者:zflying2000 时间:2007-11-23 13:30:52 0 删除 编辑

文章内容来源网络.

字符串的处理:
1,截取pc007.com

方法一:
echo $a|awk '{print substr( ,1,8)}'
substr是awk中的一个子函数,对第一个参数的进行截取,从第一个字符开始,共截取8个字符,如果不够就从第二个字符中补充迎访问007电脑资讯

方法二
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个域 00电脑资讯

方法三
a=123456
echo $欢迎访问007电脑资讯

方法四
使用sed截取字符串的最后两位
echo $test |sed 's/(.*)(..)$//'
截取字符串的前2位
echo $test |sed 's/^(..)(.*)//'

[@more@]2,比较
好像没有什么可以比较的

3,连接
$a$b
或者
$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
sh中:
??
如何替换/
使用sed替换所有匹配echo $test |sed 's/xx/yy'
替换单个匹配
??
8,得到字符串的长度:
bash当中
$
或者
expr "$VAR" : '.*'

www.pc007.com

9,判断字符串是否为数字 本文来自 pc007.com

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'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/42810/viewspace-983342/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-03

  • 博文量
    13
  • 访问量
    76483