首页 > 学院 > 开发设计 > 正文

linux ls find rename

2019-11-06 07:10:40
字体:
来源:转载
供稿:网友

ls -l, ll

#按照修改时间顺序显示ll -lt#对结果统计个数ll | wc -l

find

# 在当前目录找所有后缀是 .match 的文件find . -name "*.match" # 在 ~/Downloads 目录下, 删除 .match 后缀的文件find ~/Downloads -name "*.match" -delete# 在当前目录下, 对所有 .match 后缀的文件 操作 ll find . -name "*.match" -exec ll {} /;# 在当前目录下, 找到所有以e1开头的文件, 且修改时间在120分钟内find . -name "e1*" -mmin -120

-mmin n 是在 n 分钟内发生修改的 -mtime n 是在 n 小时内发生修改的

具体 man find


rename

# 在当前目录下, 把所有 .match 为后缀的文件名中, 把其中的 sub1 替换为 sub2rename 's/sub1/sub2/' *.match

具体 参考1


组合

# 在当前目录下, 找到所有e1开头的文件, 且修改时间在120min内, 按照修改时间顺序排列ll $(find . -name "e1*" -mmin -120) -lt # 在当前目录, 找到所有 .match 后缀的文件, 对其进行文件名替换操作, 把其中的 r_6 替换为 _rfind . -name "*.match" -exec rename 's/r_6/_r/' {} /;

{} 是指find的结果 并传给前面的操作 /; 应该是指对找到的文件 做1次前面的操作

具体 参考2

注意: rename 只会找当前目录下的文件, 不会找子文件夹里的文件; find 可以找所有子文件夹里的文件(-maxdepth-mindepth可以设置文件夹的搜索深度) . 所以要对包括子文件夹里的所有文件重命名的话, 需要用find找到文件, 把文件名传给rename.


上一篇:js中 arguments 对象

下一篇:7.2 文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表