我有这样的行:
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 个字符每个月都会变化。
请帮忙。
最佳答案
如果没有任何上下文表明您希望如何使用此信息,则很难发布有用的代码,但以下循环会遍历匹配项。
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
构造不安全。对于生产脚本,您应该使用更健壮的东西;但对于快速或专门的脚本来说,这应该足够了。
关于linux - 如何根据条件查找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042854/