Precisa cortar o nome do arquivo em parte após alguma palavra

Precisa cortar o nome do arquivo em parte após alguma palavra

Como posso obter hhmmssum nome de arquivo como este: abcdeProfileList_YYYYMMDDhhmmss.xmltambém preciso adicionar: entre o hhmmss. tipo hh:mm:ss

Responder1

for i in *.xml; do TMP=${i%.xml}; echo ${TMP:(-6)};done

Responder2

ls abcdeProfileList_YYYYMMDDhhmmss.xml | cut -d '.' -f 1 | grep -o '......$'

Mas estou presumindo muito.

Sua pergunta precisa ser mais específica.

Responder3

echo "abcdeProfileList_YYYYMMDDhhmmss.xml" | awk -F"_" '{print $2}'|awk -F"." '{print $1}'| cut -c 9-14

Responder4

Assumindo ambiente Bash:

jvc@BlueBuilder:~$ filename=abcdeProfileList_YYYYMMDDhhmmss.xml
jvc@BlueBuilder:~$ timetag=`echo "${filename/.xml/}" | cut -f2 -d_`
jvc@BlueBuilder:~$ echo "${timetag:8:2}:${timetag:10:2}:${timetag:12:2}"
hh:mm:ss

Se você tiver vários arquivos - novamente Bash:

ls -1 *.xml | cut -f1 -d. | cut -f2 -d_ | while read timetag; do 
  echo "${timetag:8:2}:${timetag:10:2}:${timetag:12:2}"; 
done

informação relacionada