linux从表中提取信息,如何用Linux命令提取表格文本中的某列

  • Post author:
  • Post category:linux


文本文件x.txt内容如下:

kaa a:\dkdkdk 123

dfdfdf b:\xxxxxxxxx 3234

j你好x c:\fdfdfv 打开

我现在要提取第二列,即:

a:\dkdkdk

b:\xxxxxxxxx

c:\fdfdfv

解决方案:

grep -a  ‘.’  x.txt | tr -s ‘ ‘ ‘ ‘ |cut -d  ‘ ‘ -f 2

对命令的解释,grep -a  ‘.’   x.txt |作用是将x.txt中的文本安行读出,并管道方式传给tr命令.

tr -s ‘ ‘ ‘ ‘  |用于合并连续的空格为一个空格,并将结果以管道方式传给cut命令.

cut -d  ‘ ‘ -f 2 用于获取第二列数据

生活中有很多这样的问题,比如你要批量去掉windows共享目录,但是

net share xxx /del 每次只能取消一个,我们就要通过net share来列出所有共享结果,这是我们就需要将结果(如下所类似):

kaa a:\dkdkdk

dfdfdf b:\xxxxxxxxx

j你好x c:\fdfdfv的第1列取出,然后放在批处理命令中自动全部取消。

呵呵,或许你会说,怎么windows和linux混为一谈了呢,这是因为windows上安装了cygwinportable后也可以使用Linux命令,Linux命令的确很强大。

2014-06-25 23:39

顺便给自己的小网站打个广告:www.uhdesk.com 程序员软件大全网 ,不完善,但可以用