当遇到这样一个场景,需要批量把查找出来的多个文件或者目录移动到一个统一的目录下面,这时可以使用xargs命令与查询命令(例如find)结合使用再批量操作mv命令的方式来实现。 这里结合自己遇到的一个实际场景来说明,具体操作方式如下: 我这里因为是直接查找当前目录下的部分文件,所以就直接使用了ls命令,如果是查找分散在多个路径下的文件建议使用find命令,但是具体实现原理是一致的 首先过滤出需要移动的文件&目录 ls -1 | awk '/(-{1,})/{print$0}' ls -1 查找当前目录下的所有文件&目录,且只列出名称 awk '/(-{1,})/{print $0}' 过滤出名称中包含多个-符号的文件&目录 再加上xargs命令批量移动文件 ls -1 | awk '/(-{1,})/{print$0}' | xargs -I {} mv {} ~/tmp220928 i {} 过滤数据存放 mv 移动文件&目录的命令 ~/tmp220928-02/ 目标目录,会把所有文件移动该目录下
脚本内容 将输出重定向到文件 log_time=time.strftime("%Y%m%d%H%M%S", time.localtime()) file_name='move_'+log_time +'.txt' log_file = open(file_name, 'w') sys.stdout = log_file 新建目标目录并移动文件 ? ---- 注意事项 父目录作用为防止文件过多造成系统异常,这样可以一个个文件夹执行 使用前请在自己环境测试,重要资料删除前注意备份 脚本中有设置将输出重定向到日志文件 源码位置: https://github.com
本期过冷水就给大家分享一下python编码而成的批量移动文件位置和批量修改文件名称的方法。过冷水下载一部剧的视频,显示是这样的: ? 当然还是能看出来每个文件夹下放的是第几集的资源,但是这样的文件,视频播放器是不能自动跳转到下一集的,针对几百集的肥皂剧就很不方便。把视频移到一个文件夹下不就OK!十一集的剧还好操作,几百集的剧呢? 必须实现批量化自动处理,于是就有了以下画面: ? 成功实现了将文件从不同文件夹中移动到同一个文件下,可是文件命名还是有点怪,干脆再进行一下文件批量重命名的操作吧! ? ,new_name)) a += 1 过冷水本期想要和大家分享的日常方便自己生活的小技巧就这么多,类似的python批量从网上在线下载视频和网页图片的方法也很实用,所以才会有“人生苦短,我想学python
生产上文件系统超阀值是很常见的告警项,通过本文的统计脚本可以快速准确的定位超阀值文件系统下使用率较高的目录。 执行结果输出至日志 file_space_20210219.log,可查看各目录下排名前20的目录具体大小和文件名。 六、本文总结 本文主要介绍了如何快速统计指定目录下的大文件,通过脚本输出的日志可以很方便的定位大文件路径。 生产上很多时候都是日志所在文件系统使用率超阀值告警,由于日志一般很多目录层次很深,手动查看劳时费力且容易有疏漏,本文的脚本可完美解决该问题。 本文所有脚本和安装包文件已上传github:shell-scripts-03 更多请点击:shell专题
背景:老父亲要看乡村爱情,下载的资源都在一个单独的小文件夹中,想把他们移动到单独的大文件夹下,读了官方文档shutil库,尝试用了一下,效果不错,提升了效率,不用我一个一个去挪动了。 环境:MacOS 挂载小米路由器上的移动硬盘共享Python 3.9用到的是shutil函数的move方法,语法如下shutil.move(src, dst, copy_function=copy2)实际代码 www.domp4.cc]乡c爱q14.EP" + str(i) + ".HD1080p.mp4" print(source_loop) shutil.move(source_loop,target)移动完之后要用当贝来导入 ,可文件名太乱,于是调用os.rename来批量重命名:os.rename的语法为:os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)实际代码 www.domp4.cc]乡c爱q14.EP' + str(i) + '.HD1080p.mp4','/Volumes/乡爱14/乡村爱情十四季第' + str(i) + '集.HD1080p.mp4' )输出后文件名清爽了
Linux 命令 sed 和 grep 命令结合可以对文件夹下的所有特定字符串进行快速替换,本文记录方法。 具体操作 批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 例如: grep -rn "cdn.jsdelivr.net/gh/zywvvd/HexoImages 批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查找的内容/替换后的内容/g" `grep -rl "查找的内容" ./` 例如当前我需要将当前文件夹下所有子目录的所有子文件中的 gitee.com\/zywvvd\/HexoImages\/raw\/main/g" `grep -rl "cdn.jsdelivr.net\/gh\/zywvvd\/HexoImages" ./` 批量查找并替换任意文件夹下的文件内容 sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本" /任意文件夹` 参考资料 https://www.cnblogs.com/aqicheng/p/11446791
欢迎转载,转载请注明出处,谢谢 一、题目 指定目录from_dir下面有一些csv文件,要求找出这一类文件,并把文件内的Tab符替换成逗号,并将文件的扩展名改为.tsv并存放于to_dir目录。 二、思路 1.找出扩展名为.csv的文件可以用find命令,注意是文件。 find $from_dir/ -name "*.csv" -type f 2.将文件内的Tab符替换为逗号,使用sed。 sed -i 's/\t/,/g' $Name 3.把文件扩展名修改为tsv并存放于to_dir。 mv $Name $to_dir/$str 三、实现 1.建立实验文件,文件内包括Tab符。 #! 2.方案2其实有个缺陷,万一$to_dir之前就存在.csv的文件呢?都全部被我们重命名了! 需要改进一下,可以创建一个临时目录,把find到的文件先移动到这个空目录,然后重命名,最后再移到$to_dir。当然也可以用find命令加exec再次处理,判定修改时间小于2分钟,才重命名。
文件查找:locate, find 实时查找:遍历所有文件进行条件匹配 非实时查找:根据索引查找 locate: 非实时查找 依赖于索引 [查找路径] [查找条件] [处理动作] 查找路径:默认为当前目录 查找条件:默认为指定路径下的所有文件 处理动作:默认为显示至屏幕 查找条件 : -name "文件名称":支持使用globbing字符 -iname "文件名称":查找时忽略字符大小写 -user USERNAME: 根据文件的属主查找 -group GRPNAME: 根据文件的属组查找 -uid UID -gid GID -nouser: 查找没有属主的文件 ,条件取反 -type TYPE: 根据文件类型查找 f: 普通文件 d: 目录文件 l: 符号链接
PyCharm的Find in Path功能提供了全局查找功能,快捷键为Ctrl + Shift + F。Find则是在当前文件查找,快捷键为Ctrl + F。这两个个功能非常实用。 Find in Path的使用: 按快捷键Ctrl + Shift + F或从从菜单Edit-》Find-》Find in Path进入全局查找界面。 如下图所示,在Text to find输入要查找的内容,可以说某个字符串,或者某个变量,再点击Find按钮,查找结果会显示在下方。
linux移动文件命令 mv命令 功能:为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。 语法:mv [选项] 源文件或目录 目标文件或目录 说明: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。 为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。 需要注意的是,mv与cp的结果不同。
这是一个专业解决excel多文件处理的方案, 找到 Excel功能大全, 然后在弹出的框里点击 ”查找替换“。软件打开后, 我们设置好界面的参数:下面我来详细介绍下参数意思。 /usr/bin/env python3# -*- coding: utf-8 -*-"""批量查找替换服务类提供Excel文件中的批量查找替换功能的核心实现"""import osimport refrom utils.logger import info, error, warning, debugfrom utils import FileUtilsclass FindReplaceService: """批量查找替换服务类 xlsx', '.xls']) def find_replace_in_excel(self, excel_file , output_file ,args): """在Excel文件中查找并替换文本 结尾语单个excel查找,我们用wps这些有名的工具就可以了, 但是针对多文件批量一键处理还可以尝试我文章中的介绍方法,可以为你提高很大的工作效率,让你有时间充实自己,而不是像机器人一样做重复的工作,没有任何新的收获
--> 返回当前路径 os.path.isfile() os.path.isdir() os.path.abspath() 返回绝对路径 os.path.exists() 判断文件是否存在
# 代码示例 import os godir = os.listdir('F:\cka认证\oldboy_go') for i in godir : print(i) if i.count('樱花论坛') : filename = i.split('【樱花论坛 www.sakuraaaa.com】',1)[1] print(filename) oldname = 'F:/cka认证/oldboy_go/'+i newname
-> /.git -> /.git-rewrite -> /.git/HEAD -> /.git/index -> /.git/logs -> /.gitattributes -> /.gitconfig -> /.gitkeep -> /.gitmodules -> /.gitreview -> /.svn/entries -> /.svnignore -> /proc/self/cwd/index.php -> /proc/self/cwd/main.py -> /etc/motd -> /proc
VBA用字典批量查找社保数据(VLookup功能加强版) 【问题】我们知道社保导出的数据是很多合并的单元格,如果要查找一个数据都要找很久,如果数量多了更多费时,基于以上问题,特用VBA设计一个批量查找的程序 ==本程序是个人原创学习之用== ====程序1==== Sub 批量查找社保数据a() Dim dic As Object, wb As Workbook Set dic = CreateObject 时间为:" & Format(Timer - ti, "0.000秒") End Sub 用时2.172秒 ====程序2==== Sub 用字典批量查找数据() Dim mydic As Object
原文参考 查找当前目录下的所有*.doc文件并将所有结果复制到 /tmp/doc 目录下 find .
这是一个专业解决excel多文件处理的方案, 找到 Excel功能大全, 然后在弹出的框里点击 ”查找替换“。 软件打开后, 我们设置好界面的参数: 下面我来详细介绍下参数意思。 Excel目录: 你要查找替换的一批excel文件所在位置。 查找文本: 就是你要查找的关键词。 替换文本: 你要替换的关键词, 可以不填,不填的话就只有查找的功能。 /usr/bin/env python3 # -*- coding: utf-8 -*- """ 批量查找替换服务类 提供Excel文件中的批量查找替换功能的核心实现 """ import os import utils.logger import info, error, warning, debug from utils import FileUtils class FindReplaceService: """批量查找替换服务类 结尾语 单个excel查找替换,我们用wps这些有名的工具就可以了, 但是针对多文件批量一键处理还可以尝试我文章中的介绍方法,可以为你提高很大的工作效率,让你有时间充实自己,而不是像机器人一样做重复的工作
吐槽:查找功能好弱啊~ 文本批量搜索替换V6.5(Search\_and\_Replace) 喜欢:功能强大,支持ZIP文件 吐槽:新版旧版变化不大,不支持UTF8 字符查找(FindStr) 喜欢:界面简洁 ,可以与资源管理器关联,也支持ZIP文件,最重要的是支持UTF8!!
Linux 移动或复制文件(文件夹) 命令格式: cp -rf /home/backup/default/Public/ Public/ 复制/home/backup/default/Public 文件夹 到当前文件夹下 补充cp该命令的各选项含义如下 – a 该选项通常在拷贝目录时使用。 - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。 此时目标文件必须为一个目录名。
-ls #类似于对查找的文件执行ls -l命令 -empty #只对空目录进行限制 -delete #删除查找到文件 -fls /tmp/test.log #存入ls -aihl 格式的到文件 time (+/-)时间 find /root -mtime +10 #是查找十天前修改的文件 find /root -mtime -10 #是查找十天内修改的文件 find /root - mtime -0.5 #是查找0.5天内修改的文件 find /root -mtime 10 #是查找第十天修改的文件 #示例7.按照大小来搜索 find 【搜索范围】-size (+/ -size 10k #是查找root目录下大小大于或者等于10kB的文件 find /root -size +20k -a -size -50k #查找20~50kB大小的文件 find /root * Ctrl+a:移动到当前页的最前面。 * Ctrl+e:移动到当前页的最后面。 * Ctrl+n:向下翻两行。 * Ctrl+p:往回翻两行。 * ):向下翻半页。 * (:往回翻半页。