排除shell脚本上的文件扩展名

时间:2016-04-29 20:29:31

标签: shell

目前我有一个可以运行的shell脚本,但我还需要更多。 (我对贝壳很可怕......)

现在,它将扩展类型为txt和csv的文件移动到特定目录。我还需要它然后将所有其他不是txt和csv的文件移动到不同的目录进行存档。

运行后是否有一个简单的方法:

mv *.txt work
mv *.csv work

然后允许我:

mv *.*

但不包括txt和csv?我感谢任何帮助/意见。

3 个答案:

答案 0 :(得分:1)

听起来你几乎得到了答案。尝试:

mv *.txt work
mv *.csv work
mv * archive

这是有效的,因为到达最后一行时,所有txt和csv文件都已被移动。

答案 1 :(得分:1)

如果您在移动了所有不想移动的文件后试图移动这些文件,那么GreenGiant的答案会很有意义。但是,假设您希望txt和csv文件保留在当前目录中。以下解决方案涵盖了使用find的用例。

find . -not -path "." -not -name "*.txt" -not -name "*.csv" -exec mv {} work \;

这看起来更复杂,但在某些情况下更有用。

答案 2 :(得分:0)

mv *.txt *.csv a_directory
mv * other_directory