UNIX命令

网络上收集的, 谁的都有:

@@@

在当前文件夹中遍历查找所有.txt文件,替换其中的字符串"111"为"222"

find . -name '*.txt' | xargs perl -pi -e 's/111/222/g' 

@@@

 Linux上批量删除.svn目录       

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


find ./ -type d -name .svn -exec rm -rf {} \;

@@@

 

批量重命名文件

批量重命名文件在linux下有两种方法。第一种是采用for+sed组会,第二种是采用linux自带的命令行rename。

第一种

1、把第一个1个字母变为"X",其它的不变

[cat@cluster3 comments]$ for i in `ls`; do mv -f $i `echo $i | sed 's/^./X/'`; done


for file in `ls`
do
newfile=`echo $i | sed 's/^./X/'`
mv $file $newfile
done


2、修改前面5个字母为XXXXXX

[cat@cluster3 comments]$ for i in `ls`; do mv -f $i `echo $i | sed 's/^...../XXXXXX/'`; done

3、修改后面5个字母为XXXXX

[cat@cluster3 comments]$ for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/XXXXX/'`; done

4、加前缀 XXX_

[cat@cluster3 comments]$ for i in `ls`; do mv -f $i `echo "XXX_"$i`; done

5、加后缀 _XXX

[cat@cluster3 comments]$ for i in `ls`; do mv -f $i `echo $i"_XXX"`; done

6、所有的小写字母变大写字母

[cat@cluster3 comments]$ for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done

7、修改目录下所有的文件
这时候需要和find命令组合
[cat@cluster3 comments]$ for i in `find . -name "*.c"`; do mv -f $i `echo $i"_org"`; done

[cat@cluster3 comments]$ cat ~/get_rid_comments.sh
#! /bin/bash

for file in `find ciacdynimic -name "*.c"`
do
newfile=`echo ${file}"_org"`
echo ${file} ${newfile}
mv ${file} ${newfile}

~/comments/get_rid_of_comments.x ${newfile} > ${file}

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值