awk中system函数的用法

4180阅读 0评论2009-09-03 greendays
分类:

| | | | IT168安防监控频道全新上线
[] [] [] [] []
  帅哥 (Pirate)
大天使
I'm Pirate


CU奥运火炬传递手2008
CU编号: 523186
注册:2007-1-27
最后登录: 2009-09-03
帖子:
精华:







来自:湛江坡头
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-9-2 16:09 

有一个csv文件,如
user,phone,string
user1,123,aGVsbG8=
user2,234,aG93IGFyZSB5b3U=
......

string字段是通过base64编码的,请问应该怎样在awk里面调用base64 -d来反编?



您对本贴的看法:

__________________________________

welcome to my blog

| | |

精灵




CU编号: 333052
注册:2005-11-7
最后登录: 2009-09-02
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-9-2 16:57 

cat *.cvs |awk -F,  'BEGIN {base64 -d $3}' {print $1,$2,$3} 这样试试看看可以不



您对本贴的看法:
| | |
  帅哥 (Pirate)
大天使
I'm Pirate


CU奥运火炬传递手2008
CU编号: 523186
注册:2007-1-27
最后登录: 2009-09-03
帖子:
精华:







来自:湛江坡头
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-9-2 17:19 

貌似不行...



您对本贴的看法:

__________________________________

welcome to my blog

| | |
  帅哥 (同态)
风云使者



CU编号: 451045
注册:2006-8-7
最后登录: 2009-09-02
帖子:
精华:0







来自:北京
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-9-2 20:57 

如下试试:

awk -F,  '{system("base64 -d $3"); print $1,$2,$3}'  csv



您对本贴的看法:

__________________________________

  漂泊一生~~  
   
| | |

大天使



CU编号: 347943
注册:2005-12-11
最后登录: 2009-09-03
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-9-3 08:46 



CODE:
awk -F "," '{printf $1","$2",";system("echo "$3"|base64 -d 2>/dev/null");print ""}' file




您对本贴的看法:

__________________________________

shell新手&&awk新手
http://blog.chinaunix.net/u3/91453/
| | |
  帅哥 (Pirate)
大天使
I'm Pirate


CU奥运火炬传递手2008
CU编号: 523186
注册:2007-1-27
最后登录: 2009-09-03
帖子:
精华:







来自:湛江坡头
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-9-3 11:02 

我后来想到的办法跟LS的差不多,但是有个问题不明白的是为什么我这样子的输出会有问题?
awk -F"," '{printf $1","$2","; print $3|"base64 -d"}' file
user1,123,user2,234,hellobase64: invalid input



您对本贴的看法:

__________________________________

welcome to my blog

| | |

大天使



CU编号: 347943
注册:2005-12-11
最后登录: 2009-09-03
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-9-3 11:12 

回复 #6 streetboy85 的帖子

我也没搞明白,手动运行base64 -d file时也会出现base64: invalid input的错误提示,
只好2>/dev/null



您对本贴的看法:

__________________________________

shell新手&&awk新手
http://blog.chinaunix.net/u3/91453/
| | |

» » »
上一篇:问个shell程序
下一篇:RPM and DPKG command reference