一个shell问题

[复制链接]
查看11 | 回复5 | 2016-8-10 14:54:03 | 显示全部楼层 |阅读模式
2155445|3|1|18565239473|13926203531||20161018091339|20161018091419|20161018091500|41|17502081867||0|2|16|1
2155445|3|1|18565239473|13926203531||20161018091339|20161018091419|20161018091500|41|17502081867||0|2|16|2
2157197|3|1|18534624961|18513908194||20161018091432|20161018091447|20161018091500|13|17503519020||0|2|16|1
2157197|3|1|18534624961|18513908194||20161018091432|20161018091447|20161018091500|13|17503519020||0|2|16|2
2157485|3|1|18610644027|18601313336||20161018091441|20161018091451|20161018091500|9|17501018079||0|2|16|1
2157485|3|1|18610644027|18601313336||20161018091441|20161018091451|20161018091500|9|17501018079||0|2|16|2
有一个问题1.txt,内容格式如上,现在需要将这个文件最后一列是1的行取出,输出到新的文本里
也就是只需要这个输入到2.txt中
2155445|3|1|18565239473|13926203531||20161018091339|20161018091419|20161018091500|41|17502081867||0|2|16|1
2157197|3|1|18534624961|18513908194||20161018091432|20161018091447|20161018091500|13|17503519020||0|2|16|1
2157485|3|1|18610644027|18601313336||20161018091441|20161018091451|20161018091500|9|17501018079||0|2|16|1

不是数据库的问题....版主手下留情....

回复

使用道具 举报

千问 | 2016-8-10 14:54:03 | 显示全部楼层
正规可以用awk来搞
你如果awk不熟(我也不熟),可以泥腿子一点儿,grep -e '1$' 1.txt> 2.txt,妈蛋我这grep不好用是怎么回事?
回复

使用道具 举报

千问 | 2016-8-10 14:54:03 | 显示全部楼层
udfrog 发表于 2016-10-19 17:34
正规可以用awk来搞
你如果awk不熟(我也不熟),可以泥腿子一点儿,grep -e

我想这用sed,但是弄不出....awk操作行可以吗?
回复

使用道具 举报

千问 | 2016-8-10 14:54:03 | 显示全部楼层
司马辽太杰 发表于 2016-10-19 17:35
我想这用sed,但是弄不出....awk操作行可以吗?

awk简直就是和sql一个路子,指定分隔符,操作第几行第几列where,一看就够了。。。
回复

使用道具 举报

千问 | 2016-8-10 14:54:03 | 显示全部楼层
不知sqlldr控制文件行不行
回复

使用道具 举报

千问 | 2016-8-10 14:54:03 | 显示全部楼层
awk -F\| '$NF==1' 1.txt > 2.txt
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行