文本文件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 程序员软件大全网 ,不完善,但可以用