Chinaunix

标题: 请大家帮忙,很费解 [打印本页]

作者: ChiangWei    时间: 2010-11-28 14:13
标题: 请大家帮忙,很费解
[root@Centos-simplify cut]# ls -l
总计 48
drwxr-xr-x 2 root root 4096 09-15 06:15 1
drwxr-xr-x 2 root root 4096 09-15 06:15 2
drwxr-xr-x 2 root root 4096 09-15 06:15 3
drwxr-xr-x 2 root root 4096 09-15 06:15 4
-rw-r--r-- 1 root root   10 09-15 06:15 5
-rw-r--r-- 1 root root  357 09-15 06:53 output.text

[root@Centos-simplify cut]# ls -l|cut -d" " -f1,8
总计
drwxr-xr-x 1
drwxr-xr-x 2
drwxr-xr-x 3
drwxr-xr-x 4
-rw-r--r-- 09-15
-rw-r--r-- 06:53

不解中。。。为什么后两个输出不是字段8
作者: lkk2003rty    时间: 2010-11-28 14:18
有的分隔是多个空格。。。
作者: rpbear    时间: 2010-11-28 14:22
因为你是以一个空格作为间隔符,如果有两个空格就不符合了
作者: l_penny    时间: 2010-11-28 14:22
ls说的对
作者: ChiangWei    时间: 2010-11-28 14:37
非常感谢,明白了。如果用cut的话,还可以实现想要的输出吗?
作者: rpbear    时间: 2010-11-28 14:42
好像cut的d选项只支持单字符分割符,你还是用
ls -l | awk -F" " '{print $1,$8}' -
作者: ChiangWei    时间: 2010-11-28 14:51
看来也只能这样了,sed同样也可以实现
ls -l|sed 's/ .* / /'
作者: 昭襄王    时间: 2010-11-28 15:08
回复 7# ChiangWei


    楼上的回复其实已经隐含了用cut实现目的的答案:把多余的空格去掉
ls -l|tr -s ' '|cut -d" " -f1,8
作者: ChiangWei    时间: 2010-11-29 10:18
果然,实现了,多谢各位
作者: mxiaohua1768    时间: 2010-11-29 11:12
一点也看不懂啊,╮(╯▽╰)╭,刚开始学SHELL




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2