读书人

小弟shell生手求一截取字符串方法

发布时间: 2013-12-04 17:21:02 作者: rapoo

小弟shell新手,求一截取字符串方法
/home/.../..../version/version_20131128100829.ini中的201311281008截取出来。
[解决办法]
没有其他要求?

#!/bin/bash

a="/home/.../..../version/version_20131128100829.ini"
echo ${a:31:45}

[解决办法]
写一个脚本:
#!/bin/sh

foo=/home/.../..../version/version_20131128100829.ini
var1=`echo ${foo##*_}`
var2=`echo ${var1%.*}
echo $var2`
[解决办法]
echo /home/.../..../version/version_20131128100829.ini 
[解决办法]
sed 's/.*_//;s/....$//'

echo /home/.../..../version/version_20131128100829.ini 
[解决办法]
sed -r 's/.*_//;s/[^0-9]+$//'

echo /home/.../..../version/version_20131128100829.ini 
[解决办法]
sed -r 's/.*_([0-9]+).*/\1/'

echo /home/.../..../version/version_20131128100829.ini 
[解决办法]
awk -F_ '{gsub(/[^0-9]/,"",$NF);print $NF}'

basename /home/.../..../version/version_20131128100829.ini 
[解决办法]
cut -d "_" -f 2
[解决办法]
cut -d "." -f 1

str="/home/.../..../version/version_20131128100829.ini"; str=${str#*_}; echo ${str%.ini}

读书人网 >UNIXLINUX

热点推荐