谁知道linux 文件批量复制脚本 把1个复制成不同名字的多个。批量修改文件内容脚本,替换指定的字符。

谁知道linux 文件批量复制脚本 把1个复制成不同名字的多个。批量修改文件内容脚本,替换指定的字符。哪位大神能给个....越详细学好。本人菜鸟。有注释更好..谢谢
把一个文件夹的所有东西复制多个到本目录,并重新命名。 还一个是修改不同文件下的同一文件内容,并保存。

对于第一个问题,由于你没给出重命名的详细要求,我就任意举例重命名的方式。如:
for i in `ls` #执行for循环,shell将反引号` `中的内容作为命令执行,意味:对于ls得到的所有

do #文件,以i去迭代。

cp $i "./${i}0" #在文件名$i后面加个0,复制到./,./代表当前目录
done
第二个问题,我默认你的文件是文本文档,依我的理解,解决如下:
find /path_higher_than_all_of_your_file -name 'your_file_name' -exec sed 'your_regular_expression' {} \;
其中find后面的目录应当是高于所有包含你的文件的目录的目录,-name 后面就是你的文件名,-exec 接着可以处理find得到的结果,sed是个行编辑器,后面跟你需要执行的正则表达式,find得到的结果用一对{}表示。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-25
一个复制多个
#!/bin/bash
#a..z代表从字面a到z的26个名字 替换成你要的名字即可 名字之间留空格
#比如 for i in 张三 李四 王五
for i in {a..z}
do
cp -pv 你的文件名 $i
done
修改文件内容
#!/bin/bash
for i in 文件1 文件2 文件3
do
sed -i 's/被替换的字符/替换成的字符/g' $i
done
你的问题能描述的清楚点么。。。
到底是本目录下一个文件复制多个 还是 多个文件复制多个追问

本目录下的一个文件复制多个,就是那个文件有子文件。

追答

- -第一个脚本就是

追问

再问一下第二个问题,如果各个文件替换的字符不一样怎么办?例如 我把a、b、c文件里的1替换成d、e、f。

追答

你这是蛋疼
那你就一条一条敲命令
不然用脚本还不如敲命令快

sed -i 's/1/d/g' a
sed -i 's/1/e/g' b
sed -i 's/1/f/g' c

追问

- -! 妹子疼不了...

本回答被提问者采纳
第2个回答  2013-04-25
具体需求说出来追问

把一个文件夹的所有东西复制多个到本目录,并重新命名。 还一个是修改不同文件下的同一文件内容,并保存。

追答

。。。。我要你 举出具体例子啊 你这样让我怎么回答你?

追问

用字母代替就可以了

追答

你连自己的需求说不出 我也帮不了你

...文件批量复制脚本 把1个复制成不同名字的多个。批量修改文件内容脚 ...
cp $i ".\/${i}0" #在文件名$i后面加个0,复制到.\/,.\/代表当前目录 done 第二个问题,我默认你的文件是文本文档,依我的理解,解决如下:find \/path_higher_than_all_of_your_file -name 'your_file_name' -exec sed 'your_regular_expression' {} \\;其中find后面的目录应当是高于...

linux下怎么把一个文件复制到多个文件夹里?
如果需要复制一个文件到多个文件夹下,可以使用多条cp语句,或者使用shell脚本。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。用法示例:复制hello.txt到abcdef...

linux复制文件并重命名文件linux复制文件并重命名
1、mvmvfromfiletofile如把文件a.txt得命名为b.txt,可以是mva.txtb.txt。mv一次只能重命名一个文件,而且,它是移动命令。如果tofile已经存在的话,会直接装原文件覆盖,从而造成文件的丢失。当然有选项可以对已存在的文件进行提示,但是,我表示,那个选项我还真不常用。综合这两点考虑,还是决定看看...

linux下怎么把一个文件复制到多个文件夹里?
在Linux环境下,如果需要将一个文件复制到多个文件夹中,有两种常见的方法可供选择。首先,你可以直接使用cp命令执行多条命令,分别将文件复制到各个目标文件夹。例如,假设你想将"hello.txt"复制到abcdef四个目录,命令如下:bash cphello.txtab cphello.txtcd cphello.txtef 另一种方法是利用shell脚...

脚本Linux下批量重命名脚本实现快速改名批量重命名linux
批量用替换字符串进行替换。使用脚本前,需要用Linux命令chmod +x 将脚本改为可执行文件。然后,在当前目录下运行脚本,可以实现大量文件的快速改名操作,省时省心,非常方便。总之,Linux的脚本功能十分强大,可以大大提高系统操作的效率。利用脚本可以快速实现Linux下的文件批量重命名,方便实用。

linux给文件批量改名字
cp $file $target done 执行上面这个脚本,可以把当前目录下以_mig结尾的文件复制一个(去掉_mig)。如果你不要原来的文件,把cp改为mv。这个脚本有个问题,就是说源文件名中只能有一个_mig,比如如果有134_mig_13_mig这样的文件,那么结果是被改为134。如果你的文件中不存在这种情况,就可以忽略...

linux下开发脚本搜索子目录批量更改文件名
用 find 命令来获取文件列表,再用 sed 命令配合正则表达式来修改文件名,这两个命令的结合几乎能完成所有常见的批量改名任务。例如,将所有大于1M,且后缀为txt或jpg的文件,由形如 book_20170101.txt、image_20170101.jpg 的文件改名为 20170101-book.txt、20170101-image.jpg,代码如下:for file in ...

linux下怎么把一个文件复制到多个文件夹里
把一个文件复制到多个文件夹里只需要直接在路径上添加不同目录即可。举例:在root目录下1.txt文件,复制到\/home\/abc \/home\/bcd \/home\/cde这三个目录中 命令如下如下:cp \/rooot\/1.txt \/home\/abc \/home\/bcd \/home\/cde 简单说下linux下批量复制并重命名的另种方法。for循环:命令行打入(F为...

linux重命名文件夹的命令linux重命名文件夹
Linux系统用一个简单的shell脚本批量实现修改文件夹(比如\/tmp)里面的文件名字,请参考如下 !\/usr\/bin\/bash if];then j=1 foriin$(ls\/tmp);do echorenamethefile$ito$1${j} mv$ifile${j} j=$(($j+1))done else echopleaseyouinputrenamename!fi linux怎么复制文件的同时并改名?用Linux的...

linux下开发脚本搜索子目录批量更改文件名
如果你的文件名就是这样的 话 下面的小脚本可以完成 #!\/bin\/shcd \/Test\/Test1for files in `ls *`do mv $files `echo "${files:0:11}.txt"` done 这是单个文件夹的 要多个一次做完自己去弄。 可以复制5次这个段代码 改改就好。或者 把5个文件夹目录做成一个数组 拿去遍历。

相似回答