2013-06-11 2 views
3

awk을 사용할 때 정말 끔찍하지만 변형 작업에는 매우 유용합니다.밑줄로 단어를 분리하기위한 awk

JohnSmith_name 3.4  
KellySears_name 5.7 
RonaldBay_name 1.2  
RayShendor_name 2.8 

내가 파일을 읽고 기본적으로 실제 이름에서 _name 태그를 제거하고 라인을 인쇄 할 :

나는 형식의 파일이 있습니다. awk을 사용하면 어떻게 할 수 있습니까 ??

감사합니다. 당신이 경우에 더 쉽게 awk 이상의 sed을 사용할 수 있습니다

답변

4

, 내 생각 :

$ sed s/_name// file 
JohnSmith 3.4  
KellySears 5.7 
RonaldBay 1.2  
RayShendor 2.8 
+0

당신에게 너무 많은 칼을 감사합니다! 그것은 완벽하게 작동했습니다, 감사합니다 !! – Sakti

3

당신은

awk '{sub("_name",""); print}' 

사용할 수 있습니다 (칼 Norum 말했다 그러나로 - 더 좋을 수 나오지도)를

+0

이안 감사합니다. 나는 칼의 sed를 사용했습니다, 정말 고마워요! – Sakti

3

이렇게 할 수 있습니다.

awk -F "_name" '{ print $1.$2 }' file 
(210)
2

좋은 팔자 'bash 방법 :

$ while read col1 col2; do echo -e "${col1%_*}\t$col2"; done < file 
JohnSmith 3.4 
KellySears 5.7 
RonaldBay 1.2 
RayShendor 2.8