当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 8:05 
头像

注册: 2007-02-07 9:23
帖子: 192
送出感谢: 0 次
接收感谢: 0 次
给单位几十个人弄资料,遇到一个批量重命名的事情,不知该怎么弄了,向高人请教。
情况如下:
有一个excel空表文件a
有一个文件b,内容是所有人的名字。
要求:
每人一张表,用自己的名字作为文件名,也就是说,这几十个人的文件除了文件名不同外,文件内容都同a

想过一种方案:
将a复制几十份,然后重命名,文件名来源于b,
但是找了很多资料,和软件,好像都没有这么干的。。。

求教~~~


_________________
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 8:49 
头像

注册: 2011-03-20 13:12
帖子: 4519
地址: 山东省寿光县
系统: Debian
送出感谢: 105
接收感谢: 997
用一种脚本语言比较方便,如 python ...
假设文件 b 有若干行,每行有且仅有一个名字,不包括其他字符
代码:
#!/usr/bin/env python2
from shutil import copy

names=[]
f = open('b')

for each_line in f:
    names.append(each_line.rstrip())

f.close()

for each_name in names:
    copy('a',each_name)


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


最后由 vickycq 编辑于 2015-09-16 9:07,总共编辑了 1 次

页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 9:02 
头像

注册: 2007-02-07 9:23
帖子: 192
送出感谢: 0 次
接收感谢: 0 次
vickycq 写道:
用一种脚本语言比较方便,如 python ...
假设文件 b 有若干行,每行有且仅有一个名字,不包括其他字符
代码:
#!/usr/bin/env python
from shutil import copy

names=[]
f = open('b')

for each_line in f:
    names.append(each_line.rstrip())

f.close()

for each_name in names:
    copy('a',each_name)


非常感谢,但是这个脚本应该怎样使用呢?咱除了汉语言外,啥语言都不懂的。。。 :em06


_________________
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 9:12 
头像

注册: 2011-03-20 13:12
帖子: 4519
地址: 山东省寿光县
系统: Debian
送出感谢: 105
接收感谢: 997
chinaz 写道:
非常感谢,但是这个脚本应该怎样使用呢?咱除了汉语言外,啥语言都不懂的。。。 :em06


是在 Windows 下?那比较麻烦。需要安装 python ...
如果在 Linux 下,脚本中 a b 改为对应文件名(如a.xls b.txt)保存为 ren.py,和文件 a b 放在同一目录下
打开终端, cd 到此目录,然后
代码:
python2 ren.py


如果在 Windows 下有很多批量重命名工具的。


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


最后由 vickycq 编辑于 2015-09-16 9:17,总共编辑了 1 次

页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 9:15 
头像

注册: 2007-02-07 9:23
帖子: 192
送出感谢: 0 次
接收感谢: 0 次
vickycq 写道:
chinaz 写道:
非常感谢,但是这个脚本应该怎样使用呢?咱除了汉语言外,啥语言都不懂的。。。 :em06


是在 Windows 下?那比较麻烦。需要安装 python ...
如果在 Linux 下,将脚本内容保存为 ren.py,和文件 a b 放在同一目录下
打开终端, cd 到此目录,然后
代码:
python2 ren.py



我用的是debian,有python,刚才试了一下,非常顺利,就是我想要的效果,生产力确实提高了不少。。。
再次感谢! :em11


_________________
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 11:02 
头像

注册: 2010-04-10 16:14
帖子: 2903
系统: Arch Linux
送出感谢: 8
接收感谢: 69
这不是一个循环的事吗……
代码:
#!/bin/bash
for i in `cat b.txt`
do
  cp a.xls ${i}.xls
done


_________________
dz,U,EIS. cies.
dz-cies@github
小香猪杀手@cc98.org


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 11:30 
头像

注册: 2011-03-20 13:12
帖子: 4519
地址: 山东省寿光县
系统: Debian
送出感谢: 105
接收感谢: 997
susbarbatus 写道:
这不是一个循环的事吗……
代码:
#!/bin/bash
for i in `cat b.txt`
do
  cp a.xls ${i}.xls
done


:em06 没系统学过 shell script


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-16 18:33 

注册: 2006-05-13 18:08
帖子: 75
送出感谢: 1
接收感谢: 0 次
我是这样做的,把 文件 b 里面的所有人名复制到 Excel 中,每个人一行,然后在 Excel 的另外一列设个公式,通过字符串拼接公式运行的结果就是一句命令。

比如这样的公式
代码:
="cp a.xls " & A1 & ".xls"


然后复制下来到终端里一粘贴就可以全部运行一遍啦,哈哈。当然你要粘贴到一个 shell 脚本再执行也是极好的。


附件:
20150916-183437-1600x900.png
20150916-183437-1600x900.png [ 69.62 KiB | 被浏览 2352 次 ]

页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求教:这种情况,应该如何批量重命名。。。
帖子发表于 : 2015-09-19 0:56 
头像

注册: 2008-07-30 23:21
帖子: 13427
地址: freebuilder@yeah.net
系统: Debian stable AMD64
送出感谢: 38
接收感谢: 127
glassprogrammer 写道:
我是这样做的,把 文件 b 里面的所有人名复制到 Excel 中,每个人一行,然后在 Excel 的另外一列设个公式,通过字符串拼接公式运行的结果就是一句命令。

比如这样的公式
代码:
="cp a.xls " & A1 & ".xls"


然后复制下来到终端里一粘贴就可以全部运行一遍啦,哈哈。当然你要粘贴到一个 shell 脚本再执行也是极好的。

我以前的做法是名字前插兩列, cp 拖下一列,a.xls 拖下一列,然後導出文本。

susbarbatus 写道:
这不是一个循环的事吗……
代码:
#!/bin/bash
for i in `cat b.txt`
do
  cp a.xls ${i}.xls
done

我現在的做法。


_________________
(2015-11-16 更新)适合 WM 的截图脚本
(2015-08-24 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门牛逼的编程语言。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译