awk 替换练习题

练习题:http://blog.chinaunix.net/uid-10540984-id-3086644.html

cat file:

a b c a d a
s d d d x s a
h j s a s h j h
j d f j a s j k j
 
要求:删除行内与第一列字符重复的字符,shell、sed、awk各写一个。达到这个结果:
a b c d
s d d d x a
h j s a s j
j d f a s k

 

awk ' {s=$1;printf s;for (i=2;i<=length($0)-1;i++) if($i!=s) printf $i;print '\n'}' test.txt

人家的答案:awk '{a=$1;gsub(" ?"a,"");print a""$0}' file

posted @ 2014-09-19 22:56  amandaysu  阅读(163)  评论(0编辑  收藏  举报