在目录中,/home/username/data
我有文件和目录。这些文件名中的一些以.txt
(我将其称为文本文件)结尾,其他的则没有。在子目录中也会发生同样的情况。
调用子目录之一other_files
(其完整路径为/home/username/data/other_files/
)。
我想移动所有不以to.txt
的根 结尾的文件。/home/username/data
other_files
我可以用循环来做,但这不是我想要的。我想使用命令和管道。我相信这很容易,只是我没有看到。mv
, find
,grep
和 的组合xargs
应该这样做,我只是不确定如何。
所以我一直在尝试匹配文本文件(然后想办法匹配除它们之外的所有内容)。在下面,假设我当前的目录是/home/username/data
.
首先我选择了find . | grep -E "*\.txt"
,但这匹配所有文本文件,包括子目录中的文件。
所以我find . | grep -E "\./*\.txt"
只是想看看我是否会得到相同的比赛然后朝着我的目标努力,但这并不匹配任何东西,这就是我被卡住的地方。
我该如何去做我在问题开头所描述的事情?