gpt4 book ai didi

Shell 脚本遍历文件名中只有一个 '4' 的文件

转载 作者:行者123 更新时间:2023-12-04 05:56:45 24 4
gpt4 key购买 nike

我试图遍历同一目录中的文件,其中只有一个 4。

这是我到目前为止所拥有的。我当前脚本的问题是选择了任意数量的 4 的文件,而不是只有一个 4 的文件。

for i in *4*.cpp;
do

...

有点像 [!4]但对于任意数量的非 4 个字符。
*http://www.tuxfiles.org/linuxhelp/wildcards.html

我想遍历文件名,例如 me4.cpp、4.cpp 和 hi4hi.cpp

我想忽略 lala.cpp、44.cpp、4hi4.cpp 等文件名

谢谢!

弄清楚了。我一时兴起尝试了 [!4]*。
哎呀原来我没有。这被解释为 ([!4]) then (*)

最佳答案

grep您需要的样式正则表达式是:

^[^4]*4[^4]*$

一行开始后的一堆非 4,一个 4,另一串非 4 到行尾。

在纯 shell 中,考虑使用 case陈述:
 for file in *4*.cpp
do
case "$file" in
(*4*4*) : Ignore;;
(*) : Process;;
esac
done

查找包含 4 的名称,然后忽略包含 2 个或更多 4 的名称。

关于Shell 脚本遍历文件名中只有一个 '4' 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423446/

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