2013-08-02 141 views
-1

事情是我想使用shell脚本来格式化我的文本文件内容。内容是这样的:使用shell脚本来格式化文本文件内容

http://copyright.gov.in Inlinks: 
fromUrl: http://mhrd.gov.in/ anchor: Copyright 
fromUrl: http://mhrd.gov.in/hi/home anchor: कॉपीराइट 
fromUrl: http://mhrd.gov.in/?fontsize=normal anchor: Copyright 
fromUrl: http://mhrd.gov.in/?contrast=high anchor: Copyright 
fromUrl: http://mhrd.gov.in/?fontsize=large anchor: Copyright 
fromUrl: http://mhrd.gov.in/sitemap anchor: Copyright 
fromUrl: http://mhrd.gov.in/?fontsize=small anchor: Copyright 
fromUrl: http://mhrd.gov.in/hi anchor: कॉपीराइट 
fromUrl: http://mhrd.gov.in/?contrast=normal anchor: Copyright 

我想格式化为输出:

http://copyright.gov.in -> http://mhrd.gov.in/ 
http://copyright.gov.in -> http://mhrd.gov.in/hi/home 
http://copyright.gov.in -> http://mhrd.gov.in/?fontsize=normal 

+3

那你试试? –

+4

'请帮助我。请--'只有当您证明您试图解决问题。 – devnull

+1

你应该使用正确的工具来完成正确的工作,我不认为文本处理是任何shell核心业务的一部分。 'perl','awk'等在这些任务中更好... – user1146332

回答

1
$ cat foo.input 
http://copyright.gov.in Inlinks: 
fromUrl: http://mhrd.gov.in/ anchor: foo 
fromUrl: http://mhrd.gov.in/hi anchor: bar 
http://foo.acme.gov Inlinks: 
fromUrl: http://foo.acme.gov/ anchor: foo 
fromUrl: http://foo.acme.gov/about anchor: bar 

$ awk '/^http/ { host=$1; next } NF { printf "%s -> %s\n", host, $2 }' foo.input 
http://copyright.gov.in -> http://mhrd.gov.in/ 
http://copyright.gov.in -> http://mhrd.gov.in/hi 
http://foo.acme.gov -> http://foo.acme.gov/ 
http://foo.acme.gov -> http://foo.acme.gov/about