我正尝试将文件从一个文件夹移动到另一个位置。我想移动除了以“c”开头的文件以外的所有文件。
这是我的尝试:
mv a* b* d*...............z*
显然这是错误的方法。有人能告诉我正确的方法吗?我正在使用Linux(RHEL 6)。
我正尝试将文件从一个文件夹移动到另一个位置。我想移动除了以“c”开头的文件以外的所有文件。
这是我的尝试:
mv a* b* d*...............z*
由于[^c]
表示“除了c之外的所有内容”,您可以使用以下表达式:
mv [^c]* another_dir
如果我需要留下两个字母该怎么办?
mv [^c]* [^d]* another_dir
?
在这种情况下,请使用以下命令:
mv [^cd]* another_dir
当使用这些正则表达式时,请查看ls
的输出:
$ ls
a23 abc b23 bd23 c23 cd23 d23
$ ls [^c]*
a23 abc b23 bd23 d23
$ ls [^cd]*
a23 abc b23 bd23
mv [^cd]* another_dir
将使其移动,因为 [^xyz] 语法的意思是:除了匹配 x、y 或 z 之外的所有内容。 - fedorquimv [a-b,d-z]* destination
mkdir /tmp/c; mv c* /tmp/c; mv * /another/location; mv /tmp/c/* .
也就是说,反转您的问题。隐藏所有以“c”开头的内容,处理剩余的文件,然后取消隐藏“c”文件。 - user229044