텍스트 파일을 백업하기 위해 파일 이름에 날짜 문자열을 추가하려고 하므로
다음과 같이 했습니다.
cp "$infile" "$infile"_backup_ date +"%Y%m%d_%H%M%S"
하지만 작동하지 않습니다. "date" 출력을 문자열에 추가하려면 어떻게 해야 합니까?
user1@serv01:~/test_sh_append> date +"%Y%m%d_%H%M%S"
20171222_075003
user1@serv01:~/test_sh_append> echo date +"%Y%m%d_%H%M%S"
date +%Y%m%d_%H%M%S
답변1
다음을 사용하세요:
cp "$infile" "${infile}_backup_"$(date +"%Y%m%d_%H%M%S")
${infile}
$infile
- 연결 문자열에 변수 삽입$(date +"%Y%m%d_%H%M%S")
- 출력이 결과 연결 문자열의 끝이 되는 명령 대체(새 항목)파일 이름)
date
예를 들어 형식 지정자에 공백이 포함된 경우 %Y%m%d %H%M%S
전체 연결 순서를 큰따옴표로 묶습니다."${infile}_backup_$(date +"%Y%m%d %H%M%S")"
답변2
나는 다음 방법으로 그것을했다
i=`date +%Y%m%d_%H%M%S`; cp inputfile inputfile_$i
여기서 i는 date 명령 출력을 포함하는 변수입니다.