linux批量替换
1.用for灵活,文件名中字符替换,加日期等都可
先用下面语句测试一下
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$NN";done
保险起见,只拷贝
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$NN";done
这是更名,慎用
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$NN";done
2.用rename简洁
先用-n
开关测试
rename
-n
's/aa/bb/'
*
测试无误去掉-n进行更名
rename
's/aa/bb/'
*
Ⅱ linux系统替换文件怎么替换
sed
批量替换多个文件中的字符串
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
例如:替换/home下所有文件中的xxx为ooo
sed -i "s/xxx/ooo/g" `grep xxx -rl /home`
单个文件中的字符串替换
将文件1.txt内的文字“111”替换成“222”
sed -i "s/111/222/g" 2.txt
注意:替换前请备份好文件以免造成不必要的损失,字符串要为绝对内容。
Ⅲ linux对文本一定字符批量替换
给出一个文本文件, 没有描述文件格式, 就直接在后面提到"序列", "名称"是个很奇怪的事情, 也许你可以考虑说明一下.
在你说明之前我假设每个">"开头的地方都是一行文本, 名称是类似"HWI-ST1276:146:C39RYACXX:2:1101:1795:1911"的文本, 你举的例子是希望把4行文本按照一定规则缩为2行文本, 那么试试下面这个命令:
sed-n'h;n;s/.*//;H;g;s/ /N/;p'input_file>output_file
在我自己电脑上, 复制上面的内容生成一个100MB的文件用来测试, 完成需要1.4秒
这在linux上测试通过, 不建议你参考别人的弄到windows上处理
Ⅳ linux 批量替换某文件夹下的文件名,文件内容,文件夹名称
1.用for灵活,文件名中字符替换,加日期等都可
先用下面语句测试一下
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$nn";done
保险起见,只拷贝
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$nn";done
这是更名,慎用
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$nn";done
2.用rename简洁
先用-n开关测试
rename
-n
's/aa/bb/'
*
测试无误去掉-n进行更名
rename
's/aa/bb/'
*
Ⅳ linux批量替换指定文件夹下的所有文件名(包括子目录下的文件)中的字符串
思路:先找到文件,再替换
find /yourfolder/subdir -exec {sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`}\;
Ⅵ linux批量替换文件夹名,文件名,文件内容命令
1.批量改名采用命令rename
rename 语法:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v表示显示详细信息,-n表示不实际执行替换,只是看哪些文件会受影响。 -f 表示强制,不管是否有重名。
perlexpr是perl语法的表达式, files则是匹配项。因此,该命令执行结果与perlexpr有关,不一定就是改文件名。
实例: 将所有文件名*.html 改为对应的.htm
rename 's//.html$//.htm$/' *.html
去bak后缀
rename 's//.bak$//' *.bak
将文件名大写改为小写
rename 'y/A-Z/a-z/' *
但rename不能递归修改。
2.递归改名,用find+rename
将文件名的abc改为xyz
find . -name "abc*" -exec rename 's/abc/xyz/' {} /;
该命令可以将当前目录下所有子目录的文件都改名。
3.内容替换,用find+sed
将所有ablo 替换为ablozhou
find . -type f -exec sed -i -e "s/ablo/ablozhou/g" {} /;
sed 命令 -i 表示 --in-place,文件原地替换。-e 后跟替换表达式
Ⅶ Linux批量替换多个文件中字符串
linux批量替换多个文件中字符串linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。
用sed命令可以批量替换多个文件中的字符串。sed
-i
s/原字符串/新字符串/g
`grep
原字符串
-rl
所在目录`例如:我要把mahuinan替换为huinanma,执行命令:sed
-i
s/mahuinan/huinanma/g
'grep
mahuinan
-rl
/www'这是目前linux最简单的批量替换字符串命令了!具体格式如下:sed
-i
s/oldString/newString/g
`grep
oldString
-rl
/path`实例代码:sed
-i
s/大小多少/日月水火/g
`grep
大小多少
-rl
/usr/aa`sed
-i
s/大小多少/日月水火/g
`grep
大小多少
-rl
./`
Ⅷ linux下 批量替换execl中的部分内容
如果后缀是 xls 或者 xlsx的, 这种格式其实是个压缩包, 你先安装vim 和 unzip, 然后用vim打开文件,
会进到一个文件列表页, 然后选文件 xl/sharedString.xml ,敲回车进入编辑页面,用vim的批量替换,将字符串全替换好了之后 保存退出就可以了,退出后到文件列表页,这里直接退出就行
另外要注意先备份文件
补充:vim的批量替换的例子(冒号要输入) :%s/aaaaa/张三/g
另外不用担心会改到注释之类的东西,因为注释的内容不在这个xml文件里
如果要自动的话可以参考:
unzip test.xlsx -d test
cd test
sed -i 's/aaaaa/张三/g' xl/sharedStrings.xm
zip -f ../test.xlsx xl/sharedStrings.xml
cd ../
rm -rf test
Ⅸ linux批量替换文件中某一部分内容中的某些字符
#!/bin/bash
FILE=`ls 你文件所在目录`
for i in $FILE
do
sed -i "s/bb/cc/g" 你文件目录/$i
done
Ⅹ linux批量修改word字体
linux批量修改word字体方法如下
①点击【开始】-【替换】;
②在弹出来的对话框中,将光标移至【查找内容】,点击左下角的【更多】,在【格式】下来列表中点击【字体】,在【字形】下来列表中勾选【加粗】,点击【确定】;
③将光标移至【替换为】,在【格式】下拉列表再次点击【字体】,在【字体颜色】下拉列表中勾选要更改的颜色,点击【确定】回到对话框,点击【全部替换】即可。