파일을 한 폴더에서 다른 폴더로 이동하고 파일 이름에 타임스탬프를 추가하고 싶습니다.
예를 들어 폴더에 file1
및 라는 두 개의 파일이 있습니다.file2
f1
이 파일을 f2
파일 이름 file1_22_jan_11:42
과 file2_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
.