|
发表于 2006-3-9 15:24:47
|
显示全部楼层
Post by yongjian
Good point. That will have problem.
- awk 'BEGIN{FS="[ ]"}{$10="n"$10;t=index($0,$10);print substr($0,(t+1))}'
复制代码 这样看看?取了个巧,重新给$10赋了个值,使它不可能有重复的项。还有就是用了"[ ]",主要是考虑到如果文件名中只有一个空格,打印的正好和原来的一样。如果多余一个或是其他不可见字符,将不会被匹配,同样会原样打印。Johnny兄帮看看还有什么没有考虑的情况。
不错的方法,yongjian兄思路果然开阔,有一点就是这样一来,你要重新判断你要显示的column $i 这个i 到底是多少,for example:
- -rwxr-xr-x 1 genesis users 1182 Mar 9 10:45 self-source
- -rwxr-xr-x 1 genesis users 487 Mar 9 11:35 set-test
- -rwxr-xr-x 1 genesis users 164 Mar 6 13:00 setty
- -rwxr-xr-x 1 genesis users 623 Mar 7 15:43 spawn.sh
- -rwxr-xr-x 1 genesis users 181 Feb 23 16:27 t-out
- -rwxr-xr-x 1 genesis users 328 Feb 21 12:46 tifs
- -rwxr-xr-x 1 genesis users 599 Feb 21 16:14 timed-input
- -rwxr-xr-x 1 genesis users 370 Feb 23 15:30 timeout
- -rwxr-xr-x 1 genesis users 212 Feb 21 16:47 tmout
- -rwxr-xr-x 1 genesis users 582 Feb 21 13:33 trpexit
- lrwxrwxrwx 1 genesis users 5 Mar 6 13:00 tty -> setty
复制代码
如果你要从genesis这一列开始显示,其实就应该是$4了,而不是$3,
FS="[ ]",非常妙,又学到一招 |
|