1、递归删除某个目录下的某类文件:
# 递归删除 特定文件
find /tmp/98/upload -name *.avi -type f -print -exec rm -rf {} \;
find . -name abc -type d -print -exec rm -rf {} \;
(1) "." 表示从当前目录开始递归查找
(2) “ -name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件
(3) " -type f "查找的类型为文件
(4) "-print" 输出查找的文件目录名
(5) 最主要的是是-exec了,-exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令。exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号
2、linux 下用find命令查找文件,rm命令删除文件。
删除指定目录下指定文件
find 要查找的目录名 -name .svn |xargs rm -rf
删除指定名称的文件或文件夹: find -type d | grep .svn$ | xargs rm -r
3、vim中删除全部中文字符:
:%s/\v[^\x00-\xff]+//g
4、利用sed删除文件中的某一行
1)删除文档的第一行
sed -i '1d' <file>
2)删除文档的最后一行
sed -i '$d' <file>
3)在文档指定行中增加一行
例如文档如下:
echo "1";
echo "2";
echo "4";
echo "5";
想要在echo "2";后面加上一条echo "3";可以用如下命令
sed -i '/echo "2";/aecho "3";' <file>
之所以用分号,是因为文本中本来就有。也就是说分号不是必须的!
抽象出来就是: sed -i '/* /a*' <file>
4)删除文件中的一行
sed -i '3d' <file>
5)删除文件中包含某个关键字开头的所有行
sed -i '/^QWQ/d' <file>
6)删除文件中包含某个关键字的所有行
sed -i '/QWQ/d' <file>