我想要一个shell脚本从文件中获取MMDDYYYY
,其名称如下文件
linuxbox.23566.MMDDYYYYHHMMSS.zip
答案 0 :(得分:2)
使用bash
字符串函数:
for file in *.zip; do
file="${file%.*}"
file="${file##*.}"
echo "${file:0:8}"
done
file="${file%.*}"
:删除扩展程序并将新名称存储在file
变量file="${file##*.}"
:从头开始删除最长匹配,并将名称存储在file
变量echo "${file:0:8}"
:echoes
剩下的最后8个字符。 $ ls
linuxbox.23566.MMDDYYYYHHMMSS.zip
$ for file in *; do file="${file%.*}"; file="${file##*.}"; echo "${file:0:8}"; done
MMDDYYYY
答案 1 :(得分:1)
使用cut
:
$ cut -d. -f3 <<< "linuxbox.23566.MMDDYYYYHHMMSS.zip" | cut -c-8
MMDDYYYY
因为第一部分正在返回:
$ cut -d. -f3 <<< "linuxbox.23566.MMDDYYYYHHMMSS.zip"
MMDDYYYYHHMMSS
然后它获得前8个字符。