내 파일에는 다음 줄이 포함되어 있습니다
15.07.2015 12:24:47; +107.117 ; +106.925 ; +17.179 ; +102.099 ; +16.151
첫 번째는 비표준 형식의 타임스탬프입니다. 이를 다음 형식으로 인라인으로 바꾸려면 어떻게 해야 합니까?
2015-07-15 12:24:47; +107.117 ; +106.925 ; +17.179 ; +102.099 ; +16.151
답변1
적절한 패턴과 함께 SED를 사용s#([0-9]{2})\.([0-9]{2})\.([0-9]{4})#\3-\2-\1#
하고 필요한 경우 행 앵커의 시작을 일치시켜 더욱 강력하게 만들 수 있습니다.
답변2
Perl one-liner를 사용하는 또 다른 방법은 다음과 같습니다.
$ perl -i -ne 's/^(\d{2})\.(\d{2})\.(\d{4})/$3-$2-$1/; print' in.txt
$ cat in.txt
2015-07-15 12:24:47; +107.117 ; +106.925 ; +17.179 ; +102.099 ; +16.151