Linux 常用Shell面试题(一)

本文深入探讨Linux环境下使用Shell命令替换特定目录下所有文件中指定URL的技巧,包括遍历文件、使用sed进行全局替换以及保存更改至新文件的方法。

Linux下面开发,Shell命令也是面试时候经常问到的问题。本专题中涉及到的都是比较需要组合多个命令才能完成的命令。

一,替换当前某个目录下所有文件中的:www.sina.com.cn为sina.com.cn
这道题至少有4个知识点
1,你需要知道替换使用sed
2,你需要知道如何遍历当前目录下的所有文件
3,你需要如何对每个找到的文件应用sed
4,你需要知道sed默认替换的时候不会保存到原文件。
答案: 
替换所有需要使用sed的g参数
遍历当前目录下所有文件的方法: find / -type f
find联合sed的使用方法: find . -type f -exec sed ...
sed替换之后,把更新写入新文件的方法:-i选项。
所以上面问题的答案: 

 find . -type f -exec sed -i 's/sina.com.cn/www.sina.com.cn/g' {} \;
更方便的一个写法
 find . -type f | xargs sed -i 's/sina.com.cn/www.sina.com.cn/g'

再加一个带转义符的:
$ find ./ -name "*.vcxproj" -exec sed -i "s/\$(ROOT)\/include\/ex;//g" {} \;







 



评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值