여러 파일 이름에 동일한 타임스탬프 추가

여러 파일 이름에 동일한 타임스탬프 추가

매 시간마다 FTP를 통해 여러 파일을 전송합니다. 수신 시스템에는 동일한 배치의 일종의 식별자가 필요하므로 파일 이름에 타임스탬프를 추가하고 싶습니다. 이것만으로도 매우 간단하지만 각 파일이 동일한 타임스탬프를 가지기를 원하기 때문에(일괄 식별자로 사용할 수 있음) 이 작업을 수행하는 방법을 모르겠습니다.

그래서 나는 가지고있다:

file1.txt
file2.txt
file3.txt

나는 원해요:

file1_20141110184303.txt
file2_20141110184303.txt
file3_20141110184303.txt

첫 번째 이후의 사용은 date +%Y%m%d%H%M%S분명히 초 단위의 다른 값을 초래하므로 첫 번째 타임스탬프를 파일의 나머지 부분에 추가하고 싶습니다.

답변1

date +%Y%m%d%H%M%S변수에 값을 저장하십시오 .

x=$(date +%Y%m%d%H%M%S)

그리고 나중에

mv file1 file1_$x.txt
mv file2 file2_$x.txt
...

*.txt또는 모든 파일에 대한 루프에서

for file in *.txt; do echo mv "$file" "${file%.txt}"_$x.txt; done

( echo화면에 보이는 내용이 만족스러우면 삭제하세요.)

관련 정보