繁体   English   中英

如何根据特定字符长度范围移动文件?

[英]How do I move files based on a certain character length range?

我在目录中有以下文件:

f.txt
fi.txt
fil.txt
file.txt
filen.txt
filena.txt
filenam.txt
filename.txt
filenametoolong.txt

我要移动除最后一个以外的所有内容。 以下正则表达式适用于我的需要:^。{1,13} .txt

但是,将正则表达式与“ mv”一起使用

mv ^.{1,13}\.txt trashdir

结果是

mv: cannot stat `^.1.txt': No such file or directory
mv: cannot stat `^.24.txt': No such file or directory

我检查并仔细检查了regex语法,它似乎是有效的。 我想念什么?

mv命令不支持正则表达式。 您可以将find-regex选项一起使用:

find . -maxdepth 1 -type f -regex '\./.\{1,13\}' -exec mv {} /trashdir +

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM