Es necesario cortar el nombre del archivo en una parte después de alguna palabra.

Es necesario cortar el nombre del archivo en una parte después de alguna palabra.

¿Cómo puedo obtener hhmmssun nombre de archivo como este? abcdeProfileList_YYYYMMDDhhmmss.xmlTambién necesito agregar: entre hhmmss. como hh:mm:ss

Respuesta1

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

Respuesta2

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

Pero estoy asumiendo muchas cosas.

Tu pregunta necesita ser más específica.

Respuesta3

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

Respuesta4

Suponiendo el entorno 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

Si tiene varios archivos, nuevamente 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

información relacionada