sed 和 rev shell 命令转换为 Python 脚本 [重复]

2024-05-30

有一个shell命令,我正在尝试将逻辑转换为python。但我不知道该怎么办,我需要一些帮助。

shell命令是这样的:

cd ../../../tests/src/main/test
ls
find . -name '*.vrlp' | while read FILENAME
do
    TEST_CASE=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\.vrlp"//g | rev | cut -f1 -d"/" | rev`
    CLASS=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\/$TEST_CASE"//g | sed s/"\.vrlp"//g`

逻辑位于目录内部,使用 find 过滤所有存在的文件。 -name '*.vrlp',包括所有子文件夹

然后将数据检索到参数中。

TEST_CASE=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\.vrlp"//g | rev | cut -f1 -d"/" | rev`
    CLASS=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\/$TEST_CASE"//g | sed s/"\.vrlp"//g`

我尝试了如下操作,但我不知道 sed 命令到底在做什么以及如何将其转换为 python 脚本。例如

为了检索发送到参数 CLASS 和 TESTCASE 的数据,我做了剪切(

cut -f1 -d"/" 

)但我不知道如何执行 sed 和 rev 来检索 TEST_CASE 和 CLASS 的值

for root, dirs, files in os.walk(../../../tests/src/main/test):
    for file in files:
        file_name = os.path.basename(file)
        file = os.path.splitext(file_name)
        if '.vrlp' in file:
            FILENAME = file[0] + file[1]
                TEST_CASE = FILENAME.split("/")[0] // how to apply sed and rev here?
                CLASS = FILENAME // how to apply sed here?

任何帮助都感激不尽


The TEST_CASE=命令获取 FILENAME 的值,删除 ./ 前缀和 .vrlp 后缀,反转字符顺序,基于 / 作为分隔符提取第一个字段,然后再次反转字符顺序。

然后,CLASS=命令获取 FILENAME 的值,删除 ./ 前缀,删除 /$TEST_CASE 后缀,并删除 .vrlp 后缀。

在Python中:

import os

os.chdir("../../../tests/src/main/test")
print(os.listdir())

for FILENAME in os.popen("find . -name '*.vrlp'"):
    FILENAME = FILENAME.strip()
    TEST_CASE = os.path.basename(FILENAME).replace(".vrlp", "")
    CLASS = os.path.dirname(FILENAME).replace("./", "").replace("/{}".format(TEST_CASE), "").replace(".vrlp", "")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sed 和 rev shell 命令转换为 Python 脚本 [重复] 的相关文章

  • 如何修复 Apache mod_wsgi 的 Python 版本不匹配问题?

    我收到此错误 Thu Jul 12 14 31 36 2012 error python init Python version mismatch expected 2 6 7 found 2 6 8 当尝试启动 Apache 服务器时 在
  • Pandas 字符串提取所有匹配项

    我正在学习 pandas 系列字符串方法中的正则表达式操作 我能够从字符串中提取第一个数字 但我的正则表达式与第二个数字不匹配 如何捕获这两个数字 注意第二行 第二个元素在这里是 NAN CODE import pandas as pd d
  • 如何测试使用 XCom 的 Apache Airflow 任务

    我正在尝试找出一种测试 DAG 的方法 其中有几个任务使用 XCom 进行通信 由于控制台命令只允许我从 DAG 运行任务 有没有一种方法可以测试通信而无需通过 UI 运行 DAG Thanks 这是一种对我有用的方法 尽管 Airflow
  • scipy.misc.imshow RuntimeError('无法执行图像视图')

    我正在测试scipy misc imshow https docs scipy org doc scipy 0 15 1 reference generated scipy misc imshow html我得到了运行时错误 无法执行图像查
  • 使用sed插入文件内容

    我试图在给定模式之前插入文件内容 这是我的代码 sed i pattern i r scriptPath adapters default permissions xml manifestFile 它添加路径而不是文件的内容 有任何想法吗
  • 我应该为 MySQL 使用什么 python 3 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 据我所知 MySQLdb 仍然没有移植到 Python 3 pypy 上似乎有另一个名为 PyMySQL
  • 在 Python 中绘制分类数据的三个维度

    我的数据包含三个我试图可视化的分类变量 城市 五个之一 职业 四种之一 血型 四种之一 到目前为止 我已经成功地以一种我认为易于使用的方式对数据进行了分组 import numpy as np pandas as pd Make data
  • 为什么 sed 将替换文本放在行首?

    在 Mac OS X bash 上 我在命令行中使用以下 sed sed s S 1 file1 txt gt file2 txt file1 txt有这样的行 some path to somewhere some stuff here
  • 小数缓存是Python规范中定义的还是一个实现细节?

    Python 似乎有一个所谓的 小数字缓存 用于存储 5 到 256 范围内的数字 我们可以使用以下程序来演示这一点 for i in range 7 258 if id i id i 0 print i is cached else pr
  • Bash:将输出传输到后台进程?

    我想将一个进程放入后台 然后多次将数据传递给它 例如 cat The command I want to write into cat pid Getting the process id of the cat process echo h
  • 使用 3d 对象作为 3d 散点图中的标记 - Python

    使用下面的代码 我尝试模拟一个用罐头制成的碗 我希望每个标记都是一个罐头 最好的方法是什么 我真的很感激任何建议 谢谢 import pylab import numpy as np from math import pi sin cos
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • 如何删除 pandas 数据框中的唯一行?

    我遇到了一个看似简单的问题 在 pandas 数据框中删除唯一的行 基本上 相反drop duplicates https pandas pydata org pandas docs stable generated pandas Data
  • PyCharm - 如何挂起所有线程

    我们使用 PyCharm 5 0 1 进行多线程调试 当它在断点处停止时 只有特定线程停止 而所有其他线程继续 这使得 冻结时刻 和检查参数值以及其他线程的当前状态变得困难 当其中一个线程在断点处停止时 是否可以挂起所有线程 这在最新的 P
  • 检查多个 pd.DataFrame 是否相等

    是否有一种 Pythonic 方式 无循环或递归 来检查是否超过两个pd DataFrames 例如 pd DataFrames 列表 彼此相等吗 就像是 all x equals dfs 0 for x in dfs with dfs数据
  • 在python中安装scipy模块时出错

    我正在尝试使用 pip 在 python 中安装 scipy 模块 它显示以下错误 Command c users sony appdata local programs python python35 32 python exe u c
  • 如何修改 contenteditable 元素的innerHTML

    我使用 Selenium 与 Chrome driver 和 python3 6 来测试网站 我在网页中有代码片段如下 div class 3F6QL 2WovP div class 39LWd Type a message div div
  • 如何限制scrapy请求对象?

    所以我有一个蜘蛛 我认为它正在泄漏内存 结果当我检查 telnet 控制台 gt gt gt prefs 时 它只是从链接丰富的页面中抓取了太多链接 有时它会超过 100 000 个 现在我已经一遍又一遍地浏览文档和谷歌 但我找不到一种方法
  • 如何配置 Eclipse 在使用 Pydev 插件选择“运行”或“调试”时启动浏览器

    我正在使用 Eclipse Pydev 插件学习 Python 和 Django 当我按 运行 或 调试 时 我希望内部或外部浏览器使用 URL http 127 0 0 1 启动或刷新 我见过用 PHP 插件完成的 但没有用 Pydev
  • 在至少 7 天内连续三天登录该产品的用户

    我有一个用于用户参与的数据框 df 如下所示 time stamp user id 2013 01 01 10 05 23 1 2013 01 03 16 35 23 1 2013 01 06 11 06 35 1 2013 01 10 1

随机推荐

  • 小数纬度/经度的最大长度 度?

    地球表面一度纬度和经度的最大长度是多少 以公里或英里为单位 但请注明 我不确定我是否说得足够清楚 让我重新表述一下 众所周知 地球不是一个完美的圆 赤道 或厄瓜多尔 纬度 经度变化 1 0 可能意味着一个距离 而两极的相同变化可能意味着另一
  • javascript 中的语句是为....

    任何人都可以解释如何在 javascript 中使用 for in 语句 我读过w3school的文章 但我认为它不太清楚 下面是代码 请解释一下 A for in loop https developer mozilla org e
  • “$$ 处或附近的未终止的美元引号字符串

    我试图使用 DBeaver 声明一些变量并不断遇到此错误 Unterminated dollar quoted string at or near DO DECLARE A integer B integer BEGIN END 有任何想法
  • 获取php中两个日期之间的天数[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我试图获取两个日期之间的天数 但返回的结果不正确 这是我的尝试 t time get the time Y m d g
  • 运行包含库 jar 的 jar 时出现 Java NoClassDefFoundError

    几个小时后 即使在阅读了大量文档和问题之后 我还是束手无策 我确信我错过了一些明显的东西 但我就是无法弄清楚 我创建了许多 java 文件 包括带有 main 方法的单个入口点 该类还使用一个 库 类 该类位于 jar 文件 mylib j
  • 是的,验证 2 个以上相关输入

    我正在使用 yup 和 formik 来管理我的表单 我使用 yup 进行表单验证 我面临的问题是 假设我有三个字段fieldA fieldB and fieldC 验证是 fieldA fieldB必须等于fieldC 这是我所做的使用
  • Android:拦截后退键

    由于后退键会破坏我的应用程序并且所有数据都会丢失 因此我需要拦截它以询问用户这是否真的是他想要的 我想到了以下结构 Override public boolean onKeyDown int keyCode KeyEvent event i
  • 强制刷新工作表的“最后一个”单元格

    Pressing Ctrl End in Excel takes you to the bottom right most cell of the worksheet 如果删除最后的行或列并保存工作簿 最后一个单元格以及滚动条都会更新 我记
  • 打开 Excel 工作簿时自动运行 VBA 代码

    我有 VBA 代码 我想在打开 Excel 工作簿时运行 我尝试在代码应该运行的工作表中创建一个公共过程 Public Sub Workbook Open Some code here End Sub 工作簿打开时它不会运行 它应该在其中一
  • Seaborn HeatMap - 如何在多个不同的数据集中设置颜色分级

    所以我需要在seaborn中创建许多具有不同数据规模的热图 有些范围是 0 100 有些是 100 到 100 我需要做的是保持所有图表的颜色分级相同 例如 我希望任何低于 0 的值稳定地从深蓝色变为浅蓝色 而高于 0 的值则逐渐变为深红色
  • dplyr:同一公式中全年每日值的总和以及特定每日值的总和

    Using df数据框 date lt rep as Date seq as Date 2003 01 01 as Date 2005 12 31 by 1 format Y m d 9 site lt c rep Site 1 3 109
  • 更改 Google Charts 注释图表中的边框/背景?

    我正在尝试更改 Google 图表库中 AnnotationChart 的边框 背景 如果我使用标准backgroundColor选项 图表无法呈现 每这次讨论 https github com google google visualiz
  • JavaScript:如何反转数字?

    下面是我的源代码来反转 如在镜子中 给定的数字 我需要使用数组的反转方法反转数字 低级整数反转 function flipInt n var digit result 0 while n digit
  • 如何调整x轴和y轴的大小

    如何调整 x 轴和 y 轴的大小 我想要什么 更具体 3900 60 30 0 60 120 180 3600 我做了什么 a 0 0 1 10000 plot a 我应该写什么才能按预期调整 x 和 y 轴的大小 EDIT 我不想 390
  • .htaccess 主要用于 localhost

    我在本地主机上使用 wamp server 虚拟主机名为www xyz com我有一个通过 git 设置的部署服务 它将代码部署到服务器上www xyz in 这是我的 htaccess 代码 RewriteEngine on Rewrit
  • 为什么 Maven 会生成此错误:“...在 -source 1.5 中不支持”?

    今天早上 Maven 开始抱怨这个错误 error multi catch statement is not supported in source 1 5 奇怪的是 我使用的是 JDK 7 并且这段代码已经构建良好数周了 我只是将 m2e
  • 使用 ng-blur 和 ui-sref 无法按预期工作

    我有一个带有自定义下拉结果面板的搜索字段 在其中输入单词或聚焦时会显示该面板 所以我的 html 看起来像这样 div class input group div
  • 信息隐藏和封装有什么区别?

    两者有什么区别信息隐藏 and 封装 我读到封装意味着将数据和对它们进行操作的过程捆绑在一起 如果是这样 下面的类是否实现了封装 class IsThisEncapsulation public int age public int get
  • Node.js 如何读取一个文件,然后使用两个单独的函数写入同一个文件?

    我想要做的是读取文件 然后在写入文件时能够使用该信息执行其他操作 例如 读取文件 写入文件并同时执行MD5哈希 数字签名等 我可以使用 fs readfile 和 fs writefile 作为一项操作 只需将文件从 Web 服务器复制到我
  • sed 和 rev shell 命令转换为 Python 脚本 [重复]

    这个问题在这里已经有答案了 有一个shell命令 我正在尝试将逻辑转换为python 但我不知道该怎么办 我需要一些帮助 shell命令是这样的 cd tests src main test ls find name vrlp while