파일 이름 끝에 있는 타임스탬프를 제거하기 위해 단일 디렉터리에 있는 여러 파일의 이름을 어떻게 바꿀 수 있습니까?

파일 이름 끝에 있는 타임스탬프를 제거하기 위해 단일 디렉터리에 있는 여러 파일의 이름을 어떻게 바꿀 수 있습니까?

파일 이름에서 타임스탬프를 제거하기 위해 Linux에서 다음 파일의 이름을 어떻게 바꿀 수 있습니까?

AB_CD_EFGHIKL_20191221_D_1.dat.20191221102446_processed
AB_CD_EFGHIKLMN_20191221_D_1.dat.20191221102428_processed

파일 이름을 다음으로 바꾸고 싶습니다.

AB_CD_EFGHIKL_20191221_D_1.dat
AB_CD_EFGHIKLMN_20191221_D_1.dat

답변1

perl-rename( renameDebian, Ubuntu 및 기타 여러 시스템에서 호출 됨) 경우 다음을 수행할 수 있습니다.

rename -n 's/dat\.\d+_processed/dat/' *.dat*

이로 -n인해 실제로 이름을 바꾸지 않고 변경 내용만 인쇄하게 됩니다. 작동하면 -n.


또는 셸에서 다음을 수행할 수 있습니다.

for f in *.dat*; do echo mv -- "$f" "${f%.dat*}.dat"; done

다시 한 번, 이것이 귀하의 요구에 맞다면 삭제 echo하고 다시 실행하십시오.

관련 정보