如何根据时间删除或查找文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据时间删除或查找文件相关的知识,希望对你有一定的参考价值。
参考技术A 使用find命令按时间筛选find 参数说明
-amin -n: 最后一次访问发生在 n分钟 之内-amin n: 最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟-amin +n: 最后一次访问发生在 (n+1)分钟 之外
-atime -n: 最后一次访问发生在 n天 之内-atime n: 最后一次访问发生在 n天 至 (n+1)天 -atime +n: 最后一次访问发生在 (n+1)天 之外
-cmin -n: 最后一次文件状态修改发生在 n分钟 之内-cmin n: 最后一次文件状态修改发生在 n分钟 至 (n+1)分钟-cmin +n: 最后一次文件状态修改发生在 (n+1)分钟 之外
-ctime -n: 最后一次文件状态修改发生在 n天 之内-ctime n: 最后一次文件状态修改发生在 n天 至 (n+1) 天-ctime +n: 最后一次文件状态修改发生在 (n+1)天 之外
-mmin -n: 最后一次文件内容修改发生在 n分钟 之内-mmin n: 最后一次文件内容修改发生在 n分钟 至 (n+1)分钟-mmin +n: 最后一次文件内容修改发生在 (n+1)分钟 之外
-mtime -n: 最后一次文件内容修改发生在 n天 之内-mtime n: 最后一次文件内容修改发生在 n天 至 (n+1)天-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外
#查找文件内容修改发生在2天之内的文件find/var/log/hive/ -name"*"-mtime -2
执行删除
#删除5天前的文件 # -exec参数,如果查找有返回,可在exec参数后加上需要操作的命令,查找结果用来代替find /var/log/hive/ -name"*"-mtime +5 -exec rm -rfv \;
如何根据一列是不是具有特定值来查找重复行并删除输出?
【中文标题】如何根据一列是不是具有特定值来查找重复行并删除输出?【英文标题】:How can you find duplicate rows and delete output based on whether or not one column has a certain value?如何根据一列是否具有特定值来查找重复行并删除输出? 【发布时间】:2020-01-18 22:44:14 【问题描述】:我有一个 CSV 文件,其中包含如下数据:
job1,job_type,new
job1,job_type,cancel
job2,job_type,new
job3,job_type,complete
我需要删除 job1,因为它已被取消。我该怎么做呢?
【问题讨论】:
到目前为止你尝试了什么? 尝试研究如何解决这个问题,使用这个网站和其他在线资源作为资源。将任务分解为多个步骤,然后从那里开始: 1. 如何使用 pandas 读取 csv(我看到您添加了标签)。 2.如何删除列具有特定值的行(此处的值为“取消”)。 3. 如何用pandas写csv。如果您在构建解决方案时遇到困难,请随时提问。 我不只是想删除说取消的行,我想删除新行和取消行。 从字面上看,我所说的一切仍然有效。先尝试一下。 向我们展示到目前为止您已经尝试过什么。 您想直接在文件上烧录/替换吗?也许您想加载该文件,然后处理数据,然后再次保存...搜索替换文件,您不妨用 sed 或 perl 来做 lol 【参考方案1】:让我们试试这个:
import pandas as pd
import numpy as np
from io import StringIO
csvfile = StringIO("""job1,job_type,new
job1,job_type,cancel
job2,job_type,new
job3,job_type,complete""")
df = pd.read_csv(csvfile, header=None)
df[~df[0].isin(df.loc[df[2] == 'cancel',0])].to_csv('out.csv', index=False, header=None)
!more out.csv
输出:
job2,job_type,new
job3,job_type,complete
【讨论】:
【参考方案2】:您可以尝试在 python 中使用 set 函数。 将每一列或每一行转换为一个列表,然后对该列表进行设置操作。
例如:
A = ["a","b", "a" ]
Dub = list(set(A))
print(Dub)
输出:
["a", "b"]
【讨论】:
以上是关于如何根据时间删除或查找文件的主要内容,如果未能解决你的问题,请参考以下文章