免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3478 | 回复: 10
打印 上一主题 下一主题

[文本处理] 请问怎么删除这个空格 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-21 16:15 |只看该作者 |倒序浏览
本帖最后由 vTNTVV 于 2012-09-21 16:16 编辑

脚本内容如下:
#!/bin/bash
# file: mysql_back.sh
# Author: jacky lau 2012-5-21
data_path=/data/backup/$(date -d "today" +"%m")/$(date -d "today" +"%d")
can=`find $data_path/full_1 -type d | awk -F/ '{print $7}' |uniq`
echo '-----------------------------' >> aa.txt
echo $data_path/full_1/$can >> /test/aa.txt
echo $can >> /test/aa.txt
执行的结果是:查看/test/aa.txt
/data/backup/09/21/full_1/ 2012-09-21_15-10-23
2012-09-21_15-10-23
-------------------------------------



问题就在于执行完在full_1/和2012之间有个空格
我想把这个空格去掉 请问怎么办

题外话:我本来是想用xtrabackupex来写个增量备份的脚本
但是在全备后执行 innobackupex --defaults-file=/etc/my.cnf --user=backup --incremental --increme
ntal-basedir=$data_path/full_1/  $data_path/$(date -d "today" +"%H")-inc
这样是不行的,要指定具体的全备目录,但是想不出怎么得到这个目录
所以用find $data_path/full_1 -type d | awk -F/ '{print $7}' |uniq 得到了这个全备目录的名字
然后就把这个名字指定给can这个参数 但就是会有个空格 不生效

求分享个增量备份的脚本(用xtrabackupex实现)

论坛徽章:
0
2 [报告]
发表于 2012-09-21 16:24 |只看该作者
回复 1# vTNTVV


    can=`find $data_path/full_1 -type d | awk -F/ '{print $7}' |uniq`
应该是个数组吧?你用个循环试试

论坛徽章:
0
3 [报告]
发表于 2012-09-21 16:29 |只看该作者
can就等于那个目录名啊

论坛徽章:
0
4 [报告]
发表于 2012-09-21 16:31 |只看该作者
对了 echo can=$can
结果是
can= 目录名
=后面还是有空格

论坛徽章:
0
5 [报告]
发表于 2012-09-21 16:37 |只看该作者
本帖最后由 FaintKnowledge 于 2012-09-21 16:38 编辑

回复 4# vTNTVV



命令行:for  can in `find $data_path/full_1 -type d | awk -F/ '{print $7}' |uniq` ;do echo $can ;done


或者先把|uniq去掉看看,找找原因...
或者sh -x 你自己脚本也可以进行调试

论坛徽章:
0
6 [报告]
发表于 2012-09-21 16:40 |只看该作者
本帖最后由 FaintKnowledge 于 2012-09-21 16:41 编辑

回复 4# vTNTVV


    这个意思说你的find 没找到文件,can = "" ,所以会有个空格

论坛徽章:
0
7 [报告]
发表于 2012-09-21 16:46 |只看该作者
FaintKnowledge 发表于 2012-09-21 16:40
回复 4# vTNTVV



我错了...
你还是sh -x 测试下吧...

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
8 [报告]
发表于 2012-09-21 21:38 |只看该作者
  1. can=`find $data_path/full_1 -type d | awk -F/ '{print $7}' |uniq`
复制代码
稍微改下
  1. can=`find $data_path/full_1 -type d | awk -F/ 'NR>1{print $7}' |uniq`
复制代码
然后再试试看吧,LZ你这需求其实应该能有更简单的写法的。。。。。。

论坛徽章:
0
9 [报告]
发表于 2012-09-22 14:26 |只看该作者
回复 8# dn833

谢谢,你的写法可以
   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
10 [报告]
发表于 2012-09-24 10:36 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP