【问题标题】:How to Find out files on condition如何在条件下查找文件
【发布时间】:2015-08-17 04:37:16
【问题描述】:

我有这样的行:

elastislide.css
handheld1119.css
job-listing1119.css
jquery-ui-1.8.23.custom1119.css
print1119.css
royalslider.min1119.css
staticlayout1119.css
style-imagegallery.css
style.min1119.css

我想查找 .css 文件类型的最后 4 个字符。例如,我想找到 1119 并将其存储在一个变量中,而这最后 4 个字符每个月都会更改。

请帮忙。

【问题讨论】:

  • 您使用什么编程语言? Bash 脚本?

标签: linux bash filenames


【解决方案1】:

没有任何上下文表明您希望如何使用此信息,很难发布有用的代码,但以下循环遍历匹配项。

find . -type f -name '*[0-9][0-9][0-9][0-9].css' -print |
while read -r file; do
    base=${file%.css}
    prefix=${base%[0-9][0-9][0-9][0-9]}
    printf "file: %s suffix: %s\n" "$file" "${base#$prefix}"
done

这演示了${var#prefix}${var%suffix} 变量替换。

如果您的文件名包含换行符,find | while 构造是不安全的。对于生产脚本,您应该使用更健壮的东西;但对于快速或专门的脚本,这应该足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多