小弟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}