파일 이름을 특정 단어 뒤의 부분으로 잘라야 함

파일 이름을 특정 단어 뒤의 부분으로 잘라야 함

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

관련 정보