Linux 常用Shell面试题(一)

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
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值