gpt4 book ai didi

regex - 正则表达式和 Shell 脚本

转载 作者:行者123 更新时间:2023-12-01 00:48:45 25 4
gpt4 key购买 nike

我学习了正则表达式和 shell 脚本。我有一个目录/work/test/,其中有多个文件,例如以下文件:needstc_30554-r-00051, profilemd5_30323-r-00053, modified_30394-r-00053。

我只想从以不变的文件开头的文件中提取第一个数字,例如未更改的_30397-r-30554 文件,在这种情况下,数字将为 30397。

我一直在玩正则表达式,并且能够从一个文件中提取 id 如下:

    str='profiles_060315091024_30398-r-00006.avro'
myvar=$(awk -F'[_-]' '{print $3}' <<< "$str")

所以我的问题是:

我如何进入该目录并仅从以未更改开头的文件中获取第一个数字?

谢谢

最佳答案

我会用 格雷普 来自 的输出ls 连同 AWK (通过管道它们)。

ls | grep '^unchanged_' | awk -F'[_-]' '{print $2}'
  • ls : 获取目录的文件名
  • grep : 只获取匹配的文件(文件名过滤)
  • awk :基本上这与您的原始样本相同(注意:数字应该是 $2 )
  • 关于regex - 正则表达式和 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32609992/

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