分类: 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如何计算目标航速】 $string4,翻转
方法一: 使用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 fgrep6,排序
7,替换
bash中: %x=abcdabcd %echo $ # 只替换一个 bbcdabcd %echo $ # 替换所有 bbcdbbcd9,判断字符串是否为数字
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 ! done13,如何将字符串内每两个字符中间插入一个字符
使用sed echo $test |sed s/../&[insert char]/g