텍스트 파일에서 사용자 정의 날짜 문자열을 바꾸는 방법

텍스트 파일에서 사용자 정의 날짜 문자열을 바꾸는 방법

몇 가지 튜토리얼과 몇 가지 StackOverflow 게시물을 살펴봤지만 날짜가 사용되는 sed 또는 awk를 사용하는 예제는 본 적이 없습니다. 첫 번째 줄에 이 내용이 포함된 텍스트 파일이 있는데 스크립트를 통해 날짜를 현재 날짜 및 시간으로 바꿔야 합니다. Linux에서 이 작업을 수행하는 가장 쉬운 방법은 무엇입니까?

시간: 2014-03-31 13:56:01

sed 또는 awk와 같이 표준 Ubuntu 설치에 제공되는 모든 도구를 사용할 수 있습니다.

답변1

가장 쉬운 방법은 해당 문자열을 사용 sed하고 올바른 문자열로 바꾸는 것입니다. 따라서 현재 시간이 다음과 같으면 2014-04-02 21:34:13간단히 실행할 수 있습니다.

sed 's/2014-03-31 13:56:01/2014-04-02 21:34:13/' file

이 작업을 동적으로 수행하고 싶기 때문에 sed관련 호출의 결과를 전달할 수 있습니다 date.

sed "s/2014-03-31 13:56:01/$(date '+%F %T')/" file

명령 주위에 큰따옴표( ") 가 있다는 점에 유의하십시오 sed. 이는 date명령을 실행하는 데 필요합니다.

답변2

첫 번째 줄을 예상 타임스탬프로 바꾸려면 다음을 사용하세요.

sed "1c TS: $(date '+%F %T')"

시작 부분의 1은 첫 번째 줄을 나타내며, c이는 "이 줄을 다음 문자열로 대체"를 의미합니다. $(...) 지정된 명령의 출력을 삽입합니다. man date자세한 내용을 참조하세요.

관련 정보