파일의 각 줄에서 나노초를 제거하는 방법 데이터는 파일 이름이 다음과 같습니다.테스트.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
파일에 대한,
명령을 실행하기 위해 필드 구분 기호(및 출력 필드 구분 기호)와 함께 사용됩니다.foo
input.txt
sub(/:[0-9]{9}$/, "", $2);
: 두 번째 필드의 경우$2
정규식:[0-9]{9}$
(예: 필드 끝에 있는 9개의 연속 숫자)을 다른 것으로 바꿉니다.print
: 새 줄 인쇄