文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>截取每一行的第一个字段sed&awk?

截取每一行的第一个字段sed&awk?

时间:2010-04-20  来源:攀爬__蜗牛

 

#cat a.test

 b.txt  5435

 c.txt  3397

 d.txt  1600


现在要截取文件a.test的每一行的第一个字段:

 

awk '{print $1}' a.test

 

cut  -d' '  -f1  a.test


 

sed 's/^[ \t]*\([^ \t]*\).*$/\1/' a.test


sed 's/^[ \t]\+//;s/[ \t].*//' a.test

sed 's/^[ \t]\?//;s/[ \t].*//' a.test

sed   -r 's/^[ \t]+//;s/[ \t].*//' a.test

 

sed  -r 's/^[ \t]?//;s/[ \t].*//' a.test

 

输出结果为:

b.txt

c.txt

d.txt 

 

其中,?、+、*都是正则表达式。

?是指匹配0个或一个之前的字符;

+是指匹配一个或多个之前的字符;

*是指匹配0个或一个之前的字符;

**匹配一个或多个之前的字符,以此类推。

如果sed加了-r参数支持扩展的正则表达式,就不用在前面加\了。

 

总结两点:

    一是要灵活应用多种工具;
   

    二是要选取最合适的工具。


 

总之方法有多种,但是唯独awk最简单!


 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载