파일을 한 폴더에서 다른 폴더로 이동하고 이름에 타임스탬프를 추가하는 방법은 무엇입니까? [복사]

파일을 한 폴더에서 다른 폴더로 이동하고 이름에 타임스탬프를 추가하는 방법은 무엇입니까? [복사]

중복 가능성:
파일 이름 끝에 수정된 날짜 타임스탬프를 사용하여 여러 파일의 이름을 바꾸시겠습니까?

파일을 한 폴더에서 다른 폴더로 이동하고 파일 이름에 타임스탬프를 추가하고 싶습니다.

예를 들어 폴더에 file1및 라는 두 개의 파일이 있습니다.file2f1

이 파일을 f2파일 이름 file1_22_jan_11:42file2_22_jan_11:42.

답변1

해당 타임스탬프가 파일 수정 시간인 경우 GNU find 및 xargs를 사용하면 다음을 수행할 수 있습니다.

find f1 -maxdepth 1 -mindepth 1 -printf '%p\0f2/%f_%Td_%Tb_%TH:%TM\0' |
  xargs -r0n2 echo mv

echo만족스러우면 제거됩니다.

답변2

추가된 수정 날짜(예: 2012_12_06) somefile로 복사하려면 다음을 수행하세요 .otherplace/somefile_

cp somefile otherplace/somefile_`stat --printf=%y somefile | sed -e 's/ .*//'`

스크립트에 넣으면 아마도 가장 쉬울 것입니다.

#!/bin/bash

suffix=_`stat --printf=%y $1 | sed -e 's/ .*//'`
cp $1 $2/$1_$suffix

이름을 "mycp"로 지정하면 다음을 수행할 수 있습니다.

mycp somefile otherplace

통계를 보려면 를 참조하세요 man stat.

관련 정보