${max_days}不需要这个了吗?

时间: 2023-08-01 15:12:01 浏览: 26
对的,当使用 `-mmin` 选项时,就不需要再使用 `${max_days}` 这个变量了,因为 `-mmin` 是以分钟为单位来指定文件的修改时间阈值的,而 `${max_days}` 是以天为单位。所以,你可以将命令修改为: ``` find "${log_dir}" -type f -name "*.log" -mmin +7 -delete ``` 这个命令将查找 `${log_dir}` 目录下所有名字以 `.log` 结尾的文件,并删除其中修改时间超过 7 分钟的文件。请注意,这个命令将查找所有子目录中的 `.log` 文件并删除,如果你只想查找当前目录下的 `.log` 文件并删除,请添加 `-maxdepth 1` 参数以限制查找的深度。
相关问题

find "${log_dir}" -type f -name "*.log" -mtime +${max_days} -delete

这是一个 shell 命令,它的作用是删除指定目录下的一定时间范围内的日志文件。其中,`${log_dir}` 是一个变量,它的值会在命令执行时被替换为实际的目录路径;`${max_days}` 是一个变量,它的值表示最大的保留天数。 命令的具体含义如下: 1. `find "${log_dir}"`:在 `${log_dir}` 目录下查找文件。 2. `-type f`:只查找普通文件,不包括目录和设备文件等。 3. `-name "*.log"`:文件名匹配 `*.log` 的文件。 4. `-mtime +${max_days}`:最后修改时间在 `${max_days}` 天之前的文件。 5. `-delete`:删除符合条件的文件。 执行该命令会删除 `${log_dir}` 目录下最后修改时间在 `${max_days}` 天之前的所有 `.log` 后缀的日志文件。

find "${log_dir}" -type f -name "*.log" -mtime +${max_days} -delete所以是可以删除-name选项吗?

不是的,`-name "*.log"` 选项是用来匹配文件名的,它表示只匹配文件名以 `.log` 结尾的文件。这个选项是非常必要的,因为在 `${log_dir}` 目录下可能会有其他后缀名的文件,我们只想删除 `.log` 后缀的日志文件。 `-mtime +${max_days}` 选项是用来匹配文件修改时间的,它表示只匹配最后修改时间在 `${max_days}` 天前的文件。这个选项也是必要的,因为我们只想删除七天前的日志文件,而不是所有日志文件。 因此,如果你删除了 `-name` 选项,脚本可能会误删一些其他后缀名的文件,而如果你删除了 `-mtime` 选项,脚本可能会删除所有日志文件,而不仅仅是七天前的。

相关推荐

import pandas as pd df = pd.read_csv('stock_data.csv') df['four_days_increase'] = df['close'].rolling(window=4).apply(lambda x: all(x[i] < x[i+1] for i in range(3))) * 1 df['three_days_decrease'] = df['close'].rolling(window=3).apply(lambda x: all(x[i] > x[i+1] for i in range(2))) * 1 capital = 1000000 max_stock_per_day = 10 max_stock_value = 100000 start_date = '2020-01-01' end_date = '2023-01-01' df = df[(df['date'] >= start_date) & (df['date'] < end_date)] df = df.reset_index(drop=True) hold_stock = [] for i, row in df.iterrows(): if len(hold_stock) > 0: sell_stock = [] for stock in hold_stock: if i - stock['buy_day'] >= 3: capital += stock['buy_price'] * stock['buy_qty'] * (1 - 0.002) sell_stock.append(stock) hold_stock = [stock for stock in hold_stock if stock not in sell_stock] df_today = df.loc[i:i+3] if i + 3 >= len(df): break if all(df_today['four_days_increase']) and all(df_today['three_days_decrease'].iloc[1:]): available_capital = capital available_stock = max_stock_per_day available_value = max_stock_value for j, stock_row in df_today.iterrows(): if available_capital > 0 and available_stock > 0 and available_value > 0: buy_qty = min(int(available_capital / (stock_row['close'] * 1.002)), available_stock, int(available_value / (stock_row['close'] * 1.002))) if buy_qty > 0: hold_stock.append({'buy_day': i, 'buy_price': stock_row['close'], 'buy_qty': buy_qty}) available_capital -= stock_row['close'] * buy_qty * 1.002 available_stock -= 1 available_value -= stock_row['close'] * buy_qty * 1.002 print('Final capital:', capital)修改上述指标使在聚宽中运行

import csv INITIAL_CAPITAL = 1000000 # 初始资金 MAX_STOCK_AMOUNT = 100000 # 每只股票的最大购买金额 MAX_STOCK_NUM = 10 # 同一个交易日最多买10只股票 capital = INITIAL_CAPITAL stocks = {} # 记录已购买的股票数量 trades = [] # 记录交易记录 with open('stock_data.csv') as csvfile: reader = csv.reader(csvfile) header = next(reader) # 读取表头 for row in reader: date = row[1] code = row[0] open_price = float(row[2]) high_price = float(row[4]) low_price = float(row[5]) close_price = float(row[3]) # 检查是否可以购买该股票 if code not in stocks: stocks[code] = 0 if stocks[code] >= MAX_STOCK_NUM: continue if capital <= 0: break # 检查是否出现四连阳 if len(trades) > 0 and code == trades[-1]['code']: if all(trades[-4+i]['close'] < trades[-5+i]['close'] for i in range(4)): buy_date = date buy_price = close_price sell_date = None sell_price = None holding_days = 0 for j in range(30): # 在接下来的30天内观察该股票的走势 next_row = next(reader, None) if next_row is None or next_row[1] != code: break next_close_price = float(next_row[5]) if next_close_price < close_price: holding_days += 1 if holding_days == 3: # 以当前价格购买该股票 buy_price = next_close_price stocks[code] += MAX_STOCK_AMOUNT // buy_price capital -= MAX_STOCK_AMOUNT sell_date = next_row[0] sell_price = next_close_price break else: holding_days = 0 # 记录交易记录 if sell_date is not None: profit = stocks[code] * (sell_price - buy_price) trades.append({ 'date': buy_date, 'code': code, 'buy_price': buy_price, 'sell_date': sell_date, 'sell_price': sell_price, 'profit': profit }) capital += profit # 更新股票数量和资金余额 stocks[code] = min(stocks[code], MAX_STOCK_AMOUNT // close_price) capital -= stocks[code] * close_price # 计算总收益 total_profit = sum(trade['profit'] for trade in trades) print('初始资金:', INITIAL_CAPITAL) print('总收益:', total_profit) print('剩余资金:', capital)为什么这个策略没有买入股票

最新推荐

recommend-type

毕业设计MATLAB_执行一维相同大小矩阵的QR分解.zip

毕业设计matlab
recommend-type

ipython-7.9.0.tar.gz

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

MATLAB柱状图在数据分析中的作用:从可视化到洞察

![MATLAB柱状图在数据分析中的作用:从可视化到洞察](https://img-blog.csdnimg.cn/img_convert/1a36558cefc0339f7836cca7680c0aef.png) # 1. MATLAB柱状图概述** 柱状图是一种广泛用于数据可视化的图表类型,它使用垂直条形来表示数据中不同类别或组别的值。在MATLAB中,柱状图通过`bar`函数创建,该函数接受数据向量或矩阵作为输入,并生成相应的高度条形。 柱状图的优点在于其简单性和易于理解性。它们可以快速有效地传达数据分布和组别之间的比较。此外,MATLAB提供了广泛的定制选项,允许用户调整条形颜色、
recommend-type

命名ACL和拓展ACL标准ACL的具体区别

命名ACL和标准ACL的主要区别在于匹配条件和作用范围。命名ACL可以基于协议、端口和其他条件进行匹配,并可以应用到接口、VLAN和其他范围。而标准ACL只能基于源地址进行匹配,并只能应用到接口。拓展ACL则可以基于源地址、目的地址、协议、端口和其他条件进行匹配,并可以应用到接口、VLAN和其他范围。