0
타임 스탬프가있는 주어진 문자열로 이름을 바꿔야하는 파일 디렉터리가 있습니다.for 루프는 파일을 삭제하는 대신 이름을 바꿉니다.
for file in itvl_*
do
mv "$file" "Interval_$(stat -c %Y "$file" | date +%Y%m%d%H%M%S).Interval_001"
done
나는 주어진 마스크 itvl_의 *에 맞게 파일의 디렉토리에있는 스크립트를 실행, 그것은 하나의 파일이 있지만 모두 제거하고 성공적으로 이름을 바꿉니다
나는 다음과 같은 코드를 사용 그룹의 마지막 파일
여기에 무슨 일이 일어날 수 있습니까?
"초"는 파일을 구별하기에 충분하지 않습니다. bash는 아마도 같은 초에 모든 파일의 이름을 변경하여 동일한 파일 이름으로 많은 파일을 생성합니다. – Raizuri
'date'는 표준 입력에서 읽지 않습니다; 현재 수행중인 작업은 새 파일 이름에 현재 날짜/시간을 사용하는 것뿐입니다. 당신은'date'에 대한 인수로'stat'의 결과를 사용하기 위해'$ (date + % Y % m % d % H % M % S --date $ (stat -c % Y "$ file")) '. – chepner