2013-09-30 4 views
0
을 추가

나는 여러 줄 와 VAL1, val2만큼 같은 텍스트 파일의 데이터를 가지고 있고 나는 인쇄 문에서 함께 노력 val2,0,0,1는 awk는 상수 값

, 1, val1과로 변경하려면 그것으로 상수를 추가하는 awk (solaris)는 작동하지 않았다.

올바른 방법은 무엇입니까? (코멘트에서)


이 난 당신이 게시 명령을 바탕으로

awk -F, '{print "%s","1,"$1","$2"0,0,1"}' test.txt 
+1

시도한 것을 보여줄 수 있습니까? 어쩌면 거의 거기 있었을거야. – fedorqui

+0

awk -F, '{print "% s", "1", $ 1 ","$ 2 "0,0,1"}'test.txt –

+0

@TejasJoshi''% s ',' – devnull

답변

2

을 시도 것입니다, 약간의 변화를 만든다 :

$ awk -F, 'BEGIN{OFS=FS} {print 1,$1,$2,0,0,1}' file 
1,val1,val2,0,0,1 

또는 printf를 사용하여 (내가 선호 print) :

$ awk -F, '{printf "1,%s,%s,0,0,1", $1, $2}' file 
1,val1,val2,0,0,1 
2

상수 1로 모든 라인을 앞에 추가하고 0,0,1에 추가하려면 단순히 수행

$ awk '{print 1,$0,0,0,1}' OFS=, file 
1,val1,val2,0,0,1 

관용적 방법은 다음과 같습니다

$ awk '$0="1,"$0",0,0,1"' file 
1,val1,val2,0,0,1 
1

sed 사용 :

sed 's/.*/1,&,0,0,1/' inputfile 

예 :

$ echo val1,val2 | sed 's/.*/1,&,0,0,1/' 
1,val1,val2,0,0,1