ファイル名を特定の単語の後の部分に切り捨てる必要があります

ファイル名を特定の単語の後の部分に切り捨てる必要があります

hhmmss次のファイル名から取得する方法:abcdeProfileList_YYYYMMDDhhmmss.xmlhhmmssの間に以下を追加する必要があります。例: hh:mm:ss

答え1

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

答え2

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

しかし、私は多くのことを仮定しました。

あなたの質問はより具体的でなければなりません。

答え3

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

答え4

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

ファイルが複数ある場合は、再度 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

関連情報