Chinaunix

标题: awk输出$3之后的所有域 [打印本页]

作者: papokaka    时间: 2009-04-22 12:50
标题: awk输出$3之后的所有域
请问如何用awk输出$3之后的所有域
cat aaa.txt | awk '{print $1"\t"$2"\t"$3????}'
谢谢
作者: liaosnet    时间: 2009-04-22 12:58
标题: 回复 #1 papokaka 的帖子
awk '{for (i=3;i<NF;i++){printf $i"\t"} print $NF}'
作者: kwokcn    时间: 2009-04-22 13:01
如果只是单纯的删除前两个域,分隔符也是单一字符,cut -d' ' -f3- urfile会更简洁一些。
作者: blackold    时间: 2009-04-22 13:09
标题: 回复 #3 kwokcn 的帖子
Simple is beauty.
作者: blackold    时间: 2009-04-22 13:11
原帖由 kwokcn 于 2009-4-22 13:01 发表
如果只是单纯的删除前两个域,分隔符也是单一字符,cut -d' ' -f3- urfile会更简洁一些。

你的写法有问题吧。
作者: kwokcn    时间: 2009-04-22 13:14
原帖由 blackold 于 2009-4-22 13:11 发表

你的写法有问题吧。

呃,没看清楚楼主需求。把3换成4就成了。
多谢黑哥提醒~:)
作者: kwokcn    时间: 2009-04-22 13:15
哎,不对啊黑哥,再看楼主给的例子,就是第三个域以及其后的嘛~ - -
作者: blackold    时间: 2009-04-22 13:18
标题: 回复 #7 kwokcn 的帖子
Sorry. 我理解错了。
作者: linuxboy823    时间: 2009-04-22 13:30
原帖由 papokaka 于 2009-4-22 12:50 发表
请问如何用awk输出$3之后的所有域
cat aaa.txt | awk '{print $1"\t"$2"\t"$3????}'
谢谢



[linuxboy823@fc8 ~]$ ls
1   11  13  15  17      1.sh.x.c  3  5  7  9        shc-3.8.6
10  12  14  16  1.sh.x  2         4  6  8  date.sh  shc.txt
[linuxboy823@fc8 ~]$ ls -al
总计 6076
drwx------  10 linuxboy823 member    4096 04-22 13:20 .
drwxr-xr-x 193 root        root      4096 2007-04-30 ..
-rw-r--r--   1 linuxboy823 member       0 04-13 11:04 1
-rw-r--r--   1 linuxboy823 member     210 04-20 10:24 10
-rw-r--r--   1 linuxboy823 member     272 04-20 10:07 11
-rw-r--r--   1 linuxboy823 member    2515 04-07 22:57 12
drwxr-xr-x   4 linuxboy823 member    4096 03-28 16:33 13
drwxr-xr-x   2 linuxboy823 member    4096 04-11 13:24 14
drwxr-xr-x   2 linuxboy823 member    4096 04-17 11:03 15
-rw-r--r--   1 linuxboy823 member 2360128 04-01 12:00 16
-rw-r--r--   1 linuxboy823 member 2988683 04-03 05:00 17
-rwx--x--x   1 linuxboy823 member    8100 04-22 11:03 1.sh.x
-rw-r--r--   1 linuxboy823 member    9435 04-22 11:03 1.sh.x.c
-rw-r--r--   1 linuxboy823 member      15 04-20 10:35 2
-rw-r--r--   1 linuxboy823 member      25 04-11 23:36 3
-rw-------   1 linuxboy823 member      26 04-17 14:41 4
-rw-r--r--   1 linuxboy823 member      32 04-13 09:45 5
-rw-r--r--   1 linuxboy823 member      53 04-12 00:05 6
-rw-r--r--   1 linuxboy823 member      59 03-28 23:37 7
-rw-r--r--   1 linuxboy823 member     106 04-08 15:26 8
-rw-r--r--   1 linuxboy823 member     180 04-13 10:05 9
-rw-------   1 linuxboy823  12923   16129 04-22 13:20 .bash_history
-rw-r--r--   1 linuxboy823  12923     111 04-22 11:08 .bash_profile
-rw-r--r--   1 linuxboy823  12923      27 2008-09-26 .bashrc
drwxr-xr-x   2 linuxboy823  12923    4096 2008-07-03 .ccache
-rwx--x--x   1 linuxboy823 member    8096 04-22 10:43 date.sh
-rw-------   1 linuxboy823 member     221 10-25 17:29 .history
-rw-------   1 linuxboy823  12923      51 04-17 09:43 .lesshst
drwxr-xr-x   2 linuxboy823 member    4096 02-17 18:46 .log
drwxr-xr-x   2 linuxboy823  12923    4096 2008-07-03 shc-3.8.6
-rw-r--r--   1 linuxboy823 member    1969 04-22 10:38 shc.txt
drwx------   2 linuxboy823  12923    4096 01-08 16:50 .ssh
drwxr-xr-x   3 linuxboy823  12923    4096 2007-04-29 .sunstudio
-rw-------   1 linuxboy823 member  602112 04-01 13:37 .swp
-rw-r--r--   1 linuxboy823 member   86416 02-26 16:57 .txt
-rw-------   1 linuxboy823 member    6870 04-22 13:20 .viminfo
[linuxboy823@fc8 ~]$ ls -l |awk '{$1=$2="";print}'

  linuxboy823 member 0 04-13 11:04 1
  linuxboy823 member 210 04-20 10:24 10
  linuxboy823 member 272 04-20 10:07 11
  linuxboy823 member 2515 04-07 22:57 12
  linuxboy823 member 4096 03-28 16:33 13
  linuxboy823 member 4096 04-11 13:24 14
  linuxboy823 member 4096 04-17 11:03 15
  linuxboy823 member 2360128 04-01 12:00 16
  linuxboy823 member 2988683 04-03 05:00 17
  linuxboy823 member 8100 04-22 11:03 1.sh.x
  linuxboy823 member 9435 04-22 11:03 1.sh.x.c
  linuxboy823 member 15 04-20 10:35 2
  linuxboy823 member 25 04-11 23:36 3
  linuxboy823 member 26 04-17 14:41 4
  linuxboy823 member 32 04-13 09:45 5
  linuxboy823 member 53 04-12 00:05 6
  linuxboy823 member 59 03-28 23:37 7
  linuxboy823 member 106 04-08 15:26 8
  linuxboy823 member 180 04-13 10:05 9
  linuxboy823 member 8096 04-22 10:43 date.sh
  linuxboy823 12923 4096 2008-07-03 shc-3.8.6
  linuxboy823 member 1969 04-22 10:38 shc.txt
作者: 我是DBA    时间: 2009-04-22 14:10
标题: 回复 #1 papokaka 的帖子
其实大家没有理解楼主的意思
他是想输出$1 \t   $2 \t 然后其他所有域
并不只是想输出第三个域之后的。
作者: tessykandy    时间: 2009-04-22 14:32
配合楼主意思和2楼的帖子
root@linux:~# ps aux |grep '09:'
root     12020  0.0  0.1   6404  1956 ?        Ss   09:53   0:00 sshd: root@pts/2
root     12025  0.0  0.1   3056  1772 pts/2    Ss+  09:53   0:00 -bash
root     12046  0.0  0.1   6408  1956 ?        Ss   09:54   0:00 sshd: root@pts/4
root     12050  0.0  0.1   3056  1772 pts/4    Ss   09:54   0:00 -bash
root     12066  0.0  0.1   6408  1908 ?        Ss   09:57   0:00 sshd: ntars [priv]
ntars    12070  0.0  0.1   6408  1212 ?        S    09:57   0:00 sshd: ntars@pts/0
ntars    12071  0.0  0.1   5076  1888 pts/0    Ss+  09:57   0:00 -ntars_cli
root     12072  0.0  0.1   6548  2024 ?        Ss   09:58   0:00 sshd: root@pts/6
root     12076  0.0  0.1   3052  1764 pts/6    Ss+  09:58   0:00 -bash
root     13876  0.0  0.0   2004   648 pts/4    S+   14:30   0:00 grep 09:
root@linux:~#
root@linux:~#
root@linux:~#
root@linux:~#
root@linux:~# ps aux |grep '09:' | awk '{printf "%s\t%s\t",$1,$2;for(i=3;i<NF;i++){printf($i"\t")} print $NF}'
root    12020   0.0     0.1     6404    1956    ?       Ss      09:53   0:00    sshd:   root@pts/2
root    12025   0.0     0.1     3056    1772    pts/2   Ss+     09:53   0:00    -bash
root    12046   0.0     0.1     6408    1956    ?       Ss      09:54   0:00    sshd:   root@pts/4
root    12050   0.0     0.1     3056    1772    pts/4   Ss      09:54   0:00    -bash
root    12066   0.0     0.1     6408    1908    ?       Ss      09:57   0:00    sshd:   ntars   [priv]
ntars   12070   0.0     0.1     6408    1212    ?       S       09:57   0:00    sshd:   ntars@pts/0
ntars   12071   0.0     0.1     5076    1888    pts/0   Ss+     09:57   0:00    -ntars_cli
root    12072   0.0     0.1     6548    2024    ?       Ss      09:58   0:00    sshd:   root@pts/6
root    12076   0.0     0.1     3052    1764    pts/6   Ss+     09:58   0:00    -bash
root    13873   0.0     0.0     2000    632     pts/4   R+      14:30   0:00    grep    09:
root@linux:~#




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