파일에서 나노초를 제거하는 방법

파일에서 나노초를 제거하는 방법

파일의 각 줄에서 나노초를 제거하는 방법 데이터는 파일 이름이 다음과 같습니다.테스트.csv

ip,time,name
1.1.1.1,2018-08-17 15:05:52:016469121,1.13.0-0007
1.1.1.2,2018-08-17 15:05:52:016469121,1.13.0-0007

답변1

노력하다

sed 's/:[[:digit:]]*,/,/' file
ip,time,name
1.1.1.1,2018-08-17 15:05:52,1.13.0-0007
1.1.1.2,2018-08-17 15:05:52,1.13.0-0007

마지막 콜론, 숫자 뒤의 마지막 쉼표를 쉼표로 바꿉니다.

답변2

awk -F',' -vOFS=',' '{sub(/:[0-9]{9}$/, "", $2); print}' input.txt

산출:

ip,time,name
1.1.1.1 2018-08-17 15:05:52 1.13.0-0007
1.1.1.2 2018-08-17 15:05:52 1.13.0-0007

설명하다

  • awk -F',' -vOFS=',' '{foo}' input.txt: awk파일에 대한 ,명령을 실행하기 위해 필드 구분 기호(및 출력 필드 구분 기호)와 함께 사용됩니다.fooinput.txt
  • sub(/:[0-9]{9}$/, "", $2);: 두 번째 필드의 경우 $2정규식 :[0-9]{9}$(예: 필드 끝에 있는 9개의 연속 숫자)을 다른 것으로 바꿉니다.
  • print: 새 줄 인쇄

관련 정보