我需要从 .sql 文件名中提取一些数字:从“TDB_full_335.51_2013_02_14.sql”我只想要“2013_02_14”我可以得到这个:
echo $(find -s ~/Downloads | grep -e '\.sql' | awk -F/ '{print $NF}' | sed -n '/TDB_full/p' | awk 'END{print}' | awk '{gsub(".sql", "");print}' | cut -d "_" -f4 -f5 -f6)
现在还可以,但是如果文件名长度发生变化,这将失败。有没有办法搜索 4 位数字“2013”并获取“.sql”之后的数字?
如果发现这个:
grep -o '\([[:digit:]]\)\{4\}'
但只给我“2013”