截取字符串中的文件名

本帖最后由 ayalastrike 于 2011-06-16 17:41 编辑

有2个变量
MYSQL_DATADIR=/usr/local/mysql/data/
BINLOG_LIST=/usr/local/mysql/data/localhost-bin.000041 /usr/local/mysql/data/localhost-bin.000042

想把BINLOG_LIST截取成localhost-bin.000041 localhost-bin.000042 (文件名中间用空格分隔)
如何实现?

作者: ayalastrike   发布时间: 2011-06-16

[root@mail tmp]# BINLOG_LIST="/usr/local/mysql/data/localhost-bin.000041 /usr/local/mysql/data/localhost-bin.000042"

[root@mail tmp]# echo $BINLOG_LIST | sed 's@/usr/local/mysql/data/@@g'
localhost-bin.000041 localhost-bin.000042

[root@mail tmp]# echo $BINLOG_LIST | awk -F'/usr/local/mysql/data/' '{print $2,$3}'
localhost-bin.000041  localhost-bin.000042

作者: ljwd1000   发布时间: 2011-06-16

  1. echo $BINLOG_LIST|awk '{gsub(/\/.*\//,"",$1);gsub(/\/.*\//,"",$2)}1'
复制代码

作者: bbgg1983   发布时间: 2011-06-16

echo $BINLOG_LIST | sed 's/ /\n/' | sed 's/\/.*\///g' | sed 'N;s/\n/ /g'

作者: ljwd1000   发布时间: 2011-06-16