csv 파일이 있습니다
ip,time,name
1.1.1.1,2018-08-31 10:01:03,postgres
2.1.1.1,2018-08-31 12:51:13,oracle
3.1.1.1,2018-08-31 14:32:53,sql
다음 출력이 필요합니다
ip,time,name
1.1.1.1,2018-08-31 10:01:03.1,postgres
2.1.1.1,2018-08-31 12:51:13.1,oracle
3.1.1.1,2018-08-31 14:32:53.1,sql
답변1
이것을 사용하십시오 :
awk -F, 'BEGIN{OFS=","} NR>1{$2=$2".1"}1' file
-F,
입력 필드 구분 기호 설정BEGIN{OFS=","}
출력 필드 구분 기호 설정NR>1{$2=$2".1"}
.1
줄 번호가 0보다 크면 두 번째 필드에 a를 추가합니다.
답변2
사용 sed
:
$ sed '2,$s/,/.1,/2' file
ip,time,name
1.1.1.1,2018-08-31 10:01:03.1,postgres
2.1.1.1,2018-08-31 12:51:13.1,oracle
3.1.1.1,2018-08-31 14:32:53.1,sql
그러면 2행 이후( 2,$
)에 대체가 적용됩니다. 이 대체 s/,/.1,/2
는 두 번째 쉼표를 .1,
. /2
두 번째 일치 항목으로 이동하려면 명령 끝 부분에 를 바꾸세요 .