如何根据条件查找文件

How to Find out files on condition

我有这样的行:

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 个字符每个月都会更改。

请帮忙。

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

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 结构不安全。对于生产脚本,您应该使用更健壮的东西;但是对于快速或专门的脚本,这应该足够了。