![파일을 한 폴더에서 다른 폴더로 이동하고 이름에 타임스탬프를 추가하는 방법은 무엇입니까? [복사]](https://linux55.com/image/43721/%ED%8C%8C%EC%9D%BC%EC%9D%84%20%ED%95%9C%20%ED%8F%B4%EB%8D%94%EC%97%90%EC%84%9C%20%EB%8B%A4%EB%A5%B8%20%ED%8F%B4%EB%8D%94%EB%A1%9C%20%EC%9D%B4%EB%8F%99%ED%95%98%EA%B3%A0%20%EC%9D%B4%EB%A6%84%EC%97%90%20%ED%83%80%EC%9E%84%EC%8A%A4%ED%83%AC%ED%94%84%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
파일을 한 폴더에서 다른 폴더로 이동하고 파일 이름에 타임스탬프를 추가하고 싶습니다.
예를 들어 폴더에 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
.