2012-12-07 2 views
0

csv 줄의 특정 지점에 문자를 삽입하려면 어떻게해야합니까?csv 줄의 특정 위치에 문자를 삽입하는 방법

1,2,3,4,5,6,7

가 어떻게 5 (다섯 번째 필드) 인 지점에 ,,,,,을 삽입 할 수, 그것은

1,2,3,4,,,,,,5,6,7

I과 같을 것이다 있도록 : 예를 들어, 경우를 나는 다음과 같은했다 자바에 대해이 작업을 수행하는 방법에 대한 링크를 찾았지만 유감스럽게도 bash를 사용하여 수행하는 방법을 찾지 못했습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

1

당신은 특정 필드를 변경하는 awk를 사용할 수 있습니다

awk -F"," '{OFS=","; a=$5; $5=",,,,,",a; print $0}' file 

아이디어는 원하는 값으로 필드 5를 업데이트 한 다음 전체 라인을 인쇄하는 것입니다.


echo "1,2,3,4,5,6,7" | awk -F"," '{a=$5; $5=",,,,,"a; OFS=","; print}' 

인쇄 것입니다 :

1,2,3,4,,,,,,5,6,7 
+0

완벽하게 작동했습니다. 감사합니다. – lacrosse1991

1
awk -F, 'BEGIN{OFS=","}{$5=",,,,,"$5;print}' your_file 

아래 테스트 :

> echo "1,2,3,4,5,6" | awk -F, 'BEGIN{OFS=","}{$5=",,,,,"$5;print}' 
1,2,3,4,,,,,,5,6 
> 

하거나 펄 사용하여 수행 할 수 있습니다

01,239,943,299,768,567,
관련 문제