다음과 같은 파일이 있습니다.
2018.01.02;1.5;comment 1 2018.01.04;2.75;comment 2 2018.01.07;5.25;comment 4 2018.01.09;1.25;comment 7
두 번째 열의 모든 점 .
을 iv id = “에서처럼 쉼표 ,
로 바꾸고 싶습니다. 1a70be4712 “>
sed
또는 바람직하게는 awk
를 사용하여 두 번째 열에 만 적용 할 수 있으므로 출력은 다음과 같습니다.
2018.01.02;1,5;comment 1 2018.01.04;2,75;comment 2 2018.01.07;5,25;comment 4 2018.01.09;1,25;comment 7
답변
$ awk "BEGIN{FS=OFS=";"} {gsub(/\./, ",", $2)} 1" ip.txt 2018.01.02;1,5;comment 1 2018.01.04;2,75;comment 2 2018.01.07;5,25;comment 4 2018.01.09;1,25;comment 7
-
BEGIN{}
이 코드 블록은 입력 행을 처리하기 전에 실행됩니다. -
FS=OFS=";"
각 입력 줄에 대해 입력 및 출력 필드 구분 기호를;
-
gsub(/\./, ",", $2)
로 설정하고 모든 iv id,
가있는 두 번째 필드의 = “ca58471716″>
1
는 인쇄 할 awk 관용구입니다. 계속 $0
항목 (입력 레코드 포함) 답변
sed "s/\./,/3" file
세 번째 발생 점 바꾸기
답변
완료 awk를 사용하는 아래 방법
Command : awk -F ";" "{gsub(/\./,",",$2);print $1";"$2";"$3}" filename
output
2018.01.02;1,5;comment 1 2018.01.04;2,75;comment 2 2018.01.07;5,25;comment 4 2018.01.09;1,25;comment 7