linux 修改文件目录名称,linux批量修改文件内容, 多目录重命名文件

批量查询当前目录下所有存在"sync1.properties"的文件   find . -name 'runSyncTool.sh' | xargs sed -n'/sync1.properties/p' 批量修改当前目录下所有文件内容, 修改"sync1.properties"为"sync.properties" find . -name 'runSyncTool.sh' | xargs sed -i's/sync1.properties/sync.properties/g'

批量修改当前目录下所有文件名为"sync1.properties"的文件,重命名为"sync.properties" for i in `find . -name sync1.properties`; do mv $i `echo $i| sed 's/sync1.properties$/sync.properties/'`; done

一些常用命令

grep pattern files – 搜索 files 中匹配 pattern 的内容 grep -r pattern dir – 递归搜索 dir 中匹配 pattern 的内容

grep -l old *.htm | xargs sed -n "/old/p"  (sed -n '/old/p' 查询个数; sed -i 's/old/new/g' 替换)

sed -n '/old/p' `grep -l old *.htm`

find . -name '*.htm' | xargs  perl -pi -e 's|old|new|g'

find / -type f -name "*.log" | xargs grep "ERROR" : 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find . -name dfc.properties

替换多文件中的内容

find . -name '*.htm' | xargs sed -n '/old/p'  (查询个数)

find . -name '*.htm' | xargs sed -i 's/old/new/g' (替换)

删除.svn文件夹

find . -type d -name ".svn" | xargs rm -rf

find . -name "*.svn"  | xargs rm -rf

find . -type d -iname ".svn" -exec rm -rf {} \;

参考:http://blog.csdn.net/afeiqiang/article/details/7622501

在项目中有个需求是把位于不同目录下的logo.png 重命名为 logo3.png。经过一番研究,得出下面的方法: for i in `find . -name logo.png`; do mv $i `echo $i | sed 's/logo.png$/logo3.png/'`; done 这条脚本由几部分组成, find . -name logo.png    # 递归查找logo.png echo $i | sed 's/logo.png$/logo3.png/' # 通过管道把文件名的logo.png 修改为logo3.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值