gpt4 book ai didi

linux - 一行 shell 命令查找模式文件名

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:11:52 29 4
gpt4 key购买 nike

在封闭的应用程序中,我必须在变量($text)中捕获一个字符串,例如:

A00_ABC_OK

,我必须像这样过滤单个文件:

XA00_ABC

其中 X 可以是任何字符。

在这个封闭的应用程序上,我只能输入一行 shell 命令,而脚本不起作用。我尝试了这些不同的命令,但没有人能正常工作

echo $text | sed 's/_OK//;s/^/*/' | xargs ls

A00_ABC_OK -> *A00_ABC -> ls *A00_ABC = 不工作

echo $text | sed 's/_OK//;s/^/*/' | xargs find -name

A00_ABC_OK -> *A00_ABC -> find -name *A00_ABC = 不工作

ls -1 | grep < echo $text | sed 's/_OK//;'

ls -1 -> grep A00_ABC

我正在使用带有 Linux CentOS 的服务器

谢谢!

最佳答案

通配符由 shell 扩展,但 xargs 在从其标准输入添加参数后不使用 shell 来执行命令。

您可以直接将通配符放入命令中,而不是将通配符放入变量中。您可以使用 shell 的内置参数扩展替换运算符从值中删除 _OK

ls *"${text/_OK/}"

关于linux - 一行 shell 命令查找模式文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761466/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com