Linux_Shell/Linux 删除指定文件之外的文件 - Go语言中文社区

Linux_Shell/Linux 删除指定文件之外的文件



在进行Linux 操作的时候,我们常常需要反选操作,

下面以删除文件的场景,去示例如何在Linux 命令中使用反选操作



反选操作的几种思路

1.利用 grep -v 反选操作  (推荐,支持正则表达式)

2. shopt -s extglob      (打开extglob模式), 然后利用 !(filename1| filename2)

shopt 指令参考我的另一篇文章

https://blog.csdn.net/u010003835/article/details/80760946


示例

完成功能:删除目录下除了test 文件以外的其他文件以及文件夹


准备脚本

#!/bin/bash


ROOT_PATH=$(dirname $(readlink -f $0))

echo $ROOT_PATH

cd $ROOT_PATH
cd four

echo "sss" >> online
echo "sss" >> .tmp
echo "sss" >> test
mkdir five



执行脚本,初始化环境


原始目录




1.利用 grep -v 反选操作  (推荐,支持正则表达式)

示例:

rm -rf `ls -a | grep -v "^tes"




2. shopt -s extglob      (打开extglob模式), 然后利用 !(filename1| filename2)

shopt -s extglob

 rm -rf !(test)




版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u010003835/article/details/80759888
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 03:38:39
  • 阅读 ( 1508 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢