免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: kakaliu
打印 上一主题 下一主题

[文本处理] 以文件名第一个字段 [复制链接]

论坛徽章:
2
射手座
日期:2013-10-29 16:22:32丑牛
日期:2013-11-25 16:29:17
11 [报告]
发表于 2014-11-11 13:58 |只看该作者
回复 7# jadonmust


    貌似不行 还是会报错!

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
12 [报告]
发表于 2014-11-11 14:38 |只看该作者
本帖最后由 jason680 于 2014-11-11 14:46 编辑

回复 4# kakaliu

1. check wrok directory
$ pwd
/tmp/day_backup

2. check files
$ ls
aaa                        hlhd_sql20141108.tar.gz
bbb                        hlhd_sql20141109.tar.gz
hlcjhd_sql20141107.tar.gz  hlhd_sql20141110.tar.gz
hlcjhd_sql20141108.tar.gz  niandu12_sql20141107.tar.gz
hlcjhd_sql20141109.tar.gz  niandu12_sql20141108.tar.gz
hlcjhd_sql20141110.tar.gz  niandu12_sql20141109.tar.gz
hlhd_sql20141107.tar.gz    niandu12_sql20141110.tar.gz

#using 'find' utilty get FILE only

$ find . -maxdepth 1 -type f
./hlhd_sql20141110.tar.gz
./niandu12_sql20141108.tar.gz
./hlhd_sql20141107.tar.gz
./niandu12_sql20141109.tar.gz
./hlhd_sql20141109.tar.gz
./hlhd_sql20141108.tar.gz
./hlcjhd_sql20141107.tar.gz
./hlcjhd_sql20141108.tar.gz
./niandu12_sql20141107.tar.gz
./niandu12_sql20141110.tar.gz
./hlcjhd_sql20141110.tar.gz
./hlcjhd_sql20141109.tar.gz

3. using run=0 to make sure move(mv) command ...
$ find . -maxdepth 1 -type f | awk -vrun=0 'function xcmd(cmd,R,P){if(P)print cmd;if(R)system(cmd)}{p=gensub(/_.*/,"","",$1);xcmd("mkdir -p "p" 2>/dev/null",run,0);xcmd("mv "$1" "p,run,1)}'
mv ./hlhd_sql20141110.tar.gz ./hlhd
mv ./niandu12_sql20141108.tar.gz ./niandu12
mv ./hlhd_sql20141107.tar.gz ./hlhd
mv ./niandu12_sql20141109.tar.gz ./niandu12
mv ./hlhd_sql20141109.tar.gz ./hlhd
mv ./hlhd_sql20141108.tar.gz ./hlhd
mv ./hlcjhd_sql20141107.tar.gz ./hlcjhd
mv ./hlcjhd_sql20141108.tar.gz ./hlcjhd
mv ./niandu12_sql20141107.tar.gz ./niandu12
mv ./niandu12_sql20141110.tar.gz ./niandu12
mv ./hlcjhd_sql20141110.tar.gz ./hlcjhd
mv ./hlcjhd_sql20141109.tar.gz ./hlcjhd

4. set run=1 after make sure command without issue ...
$ find . -maxdepth 1 -type f | awk -vrun=1 'function xcmd(cmd,R,P){if(P)print cmd;if(R)system(cmd)}{p=gensub(/_.*/,"","",$1);xcmd("mkdir -p "p" 2>/dev/null",run,0);xcmd("mv "$1" "p,run,1)}'
mv ./hlhd_sql20141110.tar.gz ./hlhd
mv ./niandu12_sql20141108.tar.gz ./niandu12
mv ./hlhd_sql20141107.tar.gz ./hlhd
mv ./niandu12_sql20141109.tar.gz ./niandu12
mv ./hlhd_sql20141109.tar.gz ./hlhd
mv ./hlhd_sql20141108.tar.gz ./hlhd
mv ./hlcjhd_sql20141107.tar.gz ./hlcjhd
mv ./hlcjhd_sql20141108.tar.gz ./hlcjhd
mv ./niandu12_sql20141107.tar.gz ./niandu12
mv ./niandu12_sql20141110.tar.gz ./niandu12
mv ./hlcjhd_sql20141110.tar.gz ./hlcjhd
mv ./hlcjhd_sql20141109.tar.gz ./hlcjhd

Note: if you don't want to display the mv command message, you can set the print flag(P) to 0

5. check result
$ ls hl* ni*
hlcjhd:
hlcjhd_sql20141107.tar.gz  hlcjhd_sql20141109.tar.gz
hlcjhd_sql20141108.tar.gz  hlcjhd_sql20141110.tar.gz

hlhd:
hlhd_sql20141107.tar.gz  hlhd_sql20141109.tar.gz
hlhd_sql20141108.tar.gz  hlhd_sql20141110.tar.gz

niandu12:
niandu12_sql20141107.tar.gz  niandu12_sql20141109.tar.gz
niandu12_sql20141108.tar.gz  niandu12_sql20141110.tar.gz

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP