Linux下的shell编程 如何替换文件中的内容

Linux下的shell编程 如何替换文件中的内容,第1张

可以这样做:

方法1:sed -i 's/被替换的内容/要扮山替换成的内容/' file

方法2:sed 's/被替换的内容/要替换成的内容/g' file >file.out;mv file.out file。

扩展资料:

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、重定向标准输出和标准错误:&>  将标准输出、标准错误信息全部保存到指定文件,而不是直接显示在屏幕上。

ed -i '/aaa/{:ans/123/xyz/g/eee/!ba}' yourfile

先匹配aaa,匹配到后执行大括号里的语句。

n 读取下一行

s/123/xyz/g 将123替换为xyz,全局替换,同一行御改轿中出现几镇肆次替换几次

:a 设定跳转标签a

/eee/!ba 若当前行匹配不上eee,则跳转到标签a处继续执行,构成一个循歼闹环。若匹配到eee,则退出循环,sed重新对读入的每行匹配aaa。

由于sed没有加-n静默选项,所以默认对每行数据处理后都打印。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12191387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存