shell下分割字符串以及截取字符串

常用的截取字符串的命令,可以通过awk或cut来完成

cut是以每一行为一个处理对象的,这种机制和sed是一样的。(关于sed的入门文章将在近期发布)
 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?
cut命令主要是接受三个定位方法:
第一,字节(bytes),用选项-b
第二,字符(characters),用选项-c
第三,域(fields),用选项-f

string="20141129235506,普通用户,www.baidu.com,android,001,android-1152x1920"

如何读取最后一列:android-1152x1920
1. echo $string| awk -F "," '{print $NF}'
2. echo $string | awk '{split($0,array,",");print array[6]}'
3. echo $string | cut -d "," -f6
其中-d代表用什么进行分割,-f6代表要第6个结果
另外还有一个常用的参数是-c,用法为 -cx-y 这个意思是取得第x至第y个字符串 
echo “abcdefg” | cut -c3-6 输出为 def 


如何读取  android-1152x1920 中的 1152x1920
1. echo $string| awk -F "," '{print $NF}' | awk -F "-" '{print $NF}'
2. echo $string | cut -d "," -f6 | cut -c 9-   
获得 android-1152x1920后,再取从第9个字符到最后的字符
 
格式化列 
 
column –t   不过似乎对tab 和空格混合的情况无法处理 
 
string=/home/bozo/daily-journal.txt 
 
截取指定字符串
echo | awk '{print substr("'${string}'",2,4)}' 
 
// 从第2个字符开始获取4个字符   结果为:home 
 
计算字符串长度 
 
echo | awk '{print length("'${string}'")}' 
 
// 结果为: 29 
 
字符串大小写转换 
 
echo | awk '{ print toupper("test"), tolower("TEST") }' 
 
结果为: TEST  test

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值