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 系统的拷贝命令 cp,对原来的文件进行替换。例如:
$cp newfile oldfile
该命令的作用就是使用现在 newfile 的内容,替换掉原来 oldfile 的内容。
③ linux vim鏂囦欢镐庝箞镟挎崲鍐呭
鍑犱釜甯哥敤镄勬柟娉曞备笅:
:%s/foo/bar/g
鎶婂叏閮╢oo镟挎崲涓篵ar,鍏ㄥ眬镟挎崲
:s/foo/bar/g
褰揿墠琛屾浛鎹foo涓篵ar
:%s/foo/bar/gc
镟挎崲姣忎釜foo涓篵ar,浣嗛渶瑕佺‘璁.
:%s/\<foo\>/bar/gc
鍗曡瘝鍖归厤镟挎崲, 闇纭璁
:%s/foo/bar/gci
蹇界暐foo澶у皬鍐,镟挎崲涓篵ar, 闇纭璁
④ Linux下的shell编程 如何替换文件中的内容
可以这样做:
方法1:sed -i 's/被替换的内容/要替换成的内容/' file
方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.out;mv file.out file。
(4)linux替换文件内容扩展阅读:
Shell编程的常用技巧:
一、自动补齐:在linux中对于命令或路径,可以TAB键进行自动补全,以下事项需要注意:
1、只存在一个该输入字符开头的命令或路径,此时自动补全;
2、存在多个该输入字符开头的命令或路径,此时第一次点击TAB键无效厅键中,此时再次点扮山击TAB会罗列出所有该字符开头的命令或路径,继续输入直到仅仅剩一个时自动补全;
3、如果命令已经是完整的,TAB键则是本来的移动功能;而路径的话要看命令自身的行为决定后续动作。
二、历史命令
1、history命令可以显示历史执行过的命令;
2、使用!+序号执行该序号对应的命令;
3、使用!+字符执亮岩行该字符开头的最后一次执行的指令。
三、命令别名
1、实现别名:alias ddd="df -Th";
2、删除别名:unalias ddd;
3、显示所有别名命令列表:alias;
4、存放位置:~/.bashrc (加入该文件后,重启后不会消失)。
四、重定向
1、重定向标准输入:< 命令接收输入的途径由键盘改为文件;
2、重定向标准输出:> 将命令的执行结果输出到指定文件,而不是直接显示到屏幕;
3、重定向标准输出:>> 将命令的执行结果追加输出到指定文件;
4、重定向标准错误:2> 清除指定文件的内容,并把标准错误信息保存到指定文件;
5、重定向标准错误:2>> 标准错误信息追加到指定文件;
6、重定向标准输出和标准错误:&> 将标准输出、标准错误信息全部保存到指定文件,而不是直接显示在屏幕上。