pickfield

   pickfield

  사용법


	pickfield -G fn,... [-h][-S skiplist][-d delimiter][-T | -D string][-X][-t][-p string][-s stirng][-e string][-1 string][-9 string] [file]
	pickfield -G fn,... -F [-f fillchar] [-h][-S skiplist][-d delimiter][-T | -D string][-X][-t][-p string][-s stirng][-e string][-1 string][-9 string] file
	pickfield -G fn,... -W colwidth [-f fillchar] [-h][-S skiplist][-d delimiter][-T | -D string][-X][-t][-p string][-s stirng][-e string][-1 string][-9 string] file
	pickfield -V

	Options are as follows:

	-?                  print this help
	-1 string           print line_prefix at the begining of each line
	-9 string           print line_suffix at the end of each line
	-d char             input field delimiter; def: whitespace
	-D string           output separater (default: same as input field delimiter; def: TAB)
	-e string           string which is printed at the end
	-E                  skip emply line
	-F                  print fixed width
	-f fillchar         specify a filling letter instead of space if using -F option
	-G fn,...           select field; exam) 1,2 ... OR 1:wd,...
	-h                  print column number at the first line
	-o outfile          specify output file name
	-p string           insert special string as a first column
	                       prefix is one of 'LINENO[-start]', 'TIME', 'DATE.TIME', 'T-hh:mm:ss-interval'
	-s string           string which is printed at the begining
	-S skiplist         list starting word to skip (separated by comma)
	-t                  do not trim input field
	-T                  print output as format of HTML TABLE tag
	-X                  do not print output separater
	-V                  show version
	-W colwidth         specifiy the colume width by the number of letters

	file                data file
  설명

pickfield 명령어는 입력 파일에서 특정 컬럼의 데이타를 뽑아내거나 데이타의 폭을 일정크기로 변경하거나 HTML TABLE 태그를 추가하여 테이블 형식의 데이타로 변환하게 하는 명령어이다.

다음과 같은 명령어의 출력이 다음과 같다.
# ls -l
total 14
drwxr-xr-x   3 root     bin          512 Dec 11 02:00 SUNWits
drwxr-xr-x   4 root     bin          512 Dec 11 02:06 SUNWmlib
drwxr-xr-x   5 root     bin          512 Dec 11 02:03 ocm

다음은 위의 ls 명령어의 결과를 파이프로 받아서 처리하는 예제이다. -d char 옵션으로 입력 데이타의 분리자(onc char)를 지정할 수 있정할 수 있는데, 이 옵션을 지정하지 않으면, WhiteSpace 가 컬럼의 분리자가 된다. WhiteSpace는 스페이스 문자나 텝문자로 연속되는 임의의 개수까지를 하나의 분리자로 판단한다.
-D string 옵션으로 출력 데이타의 분리자를 지정할 수 있는데, -D 옵션을 지정하지 않으면, 하나의 TAB 문자가 출력 데이타의 컬럼 분리자로 사용된다.
-G 옵션을 사용하여 출력하려고 하는 컬럼의 번호를 지정할 수 있는데, 모든 컬럼을 지정하려면, 영(zero)을 지정하면 된다.
# ls -l | pickfield -G 0
total   14
drwxr-xr-x      3       root    bin     512     Dec     11      02:00   SUNWits
drwxr-xr-x      4       root    bin     512     Dec     11      02:06   SUNWmlib
drwxr-xr-x      5       root    bin     512     Dec     11      02:03   ocm

다음은 -G 옵션을 사용하여 출력 컬럼 분리자로 콜론(:)을 지정한 예제이다.
# ls -l | pickfield -D : -G 0
total:14
drwxr-xr-x:3:root:bin:512:Dec:11:02:00:SUNWits
drwxr-xr-x:4:root:bin:512:Dec:11:02:06:SUNWmlib
drwxr-xr-x:5:root:bin:512:Dec:11:02:03:ocm

다음과 같은/etc/passwd 파일이 있다. 이 파일에 대하여 pickfield 명령어를 사용하여 여러 예제를 보여준다.
root:x:0:0:Super-User:/:/bin/bash
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
gdm:x:50:50:GDM Reserved UID:/:
webservd:x:80:80:WebServer Reserved UID:/:
postgres:x:90:90:PostgreSQL Reserved UID:/:/usr/bin/pfksh
svctag:x:95:12:Service Tag UID:/:
unknown:x:96:96:Unknown Remote UID:/:
nobody:x:60001:60001:NFS Anonymous Access User:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x NFS Anonymous Access User:/:

다음의 예제는 -d 옵션을 사용하여 컬럼의 분리자를 콜론(:)으로 지정하고, -G 옵션을 사용하여 출력한 컬럼 번호를 1과 3을 지정한다.
# pickfield -d: -G 1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
adm:4
lp:71
uucp:5
nuucp:9
smmsp:25
listen:37
gdm:50
webservd:80
postgres:90
svctag:95
unknown:96
nobody:60001
noaccess:60002
nobody4:65534

-d 옵션을 사용하여 입력 컬럼의 분리자를 콜론(:)으로 지정하고, -D 옵션에 " = " 를 지정하여 출력하는 데이타의 컬럼 분리자를 지정할 수 있다. (입력 분리자는 1 바이트만 지정 가능하고, 출력 분리자는 문자열을 지정할 수 있다.)
# pickfield -d: -D " = " -G 1,3 /etc/passwd
root = 0
daemon = 1
bin = 2
sys = 3
adm = 4
lp = 71
uucp = 5
nuucp = 9
smmsp = 25
listen = 37
gdm = 50
webservd = 80
postgres = 90
svctag = 95
unknown = 96
nobody = 60001
noaccess = 60002
nobody4 = 65534

다음과 같이 -F 옵션를 지정하면, 각 컬럼의 데이타가 동일한 공간에 표시될 수 있는 폭을 가지게 하고, -G 옵션에 컬럼 번호로 영(zero)을 지정하면, 모든 컬럼을 선택한 것이 된다.
# pickfield -d: -F -G 0 /etc/passwd
    root:x:    0:    0:                         Super-User:                    /:           /bin/bash
  daemon:x:    1:    1:                                   :                    /:
     bin:x:    2:    2:                                   :             /usr/bin:
     sys:x:    3:    3:                                   :                    /:
     adm:x:    4:    4:                              Admin:             /var/adm:
      lp:x:   71:    8:                 Line Printer Admin:        /usr/spool/lp:
    uucp:x:    5:    5:                         uucp Admin:        /usr/lib/uucp:
   nuucp:x:    9:    9:                         uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
   smmsp:x:   25:   25:SendMail Message Submission Program:                    /:
  listen:x:   37:    4:                      Network Admin:         /usr/net/nls:
     gdm:x:   50:   50:                   GDM Reserved UID:                    /:
webservd:x:   80:   80:             WebServer Reserved UID:                    /:
postgres:x:   90:   90:            PostgreSQL Reserved UID:                    /:      /usr/bin/pfksh
  svctag:x:   95:   12:                    Service Tag UID:                    /:
 unknown:x:   96:   96:                 Unknown Remote UID:                    /:
  nobody:x:60001:60001:          NFS Anonymous Access User:                    /:
noaccess:x:60002:60002:                     No Access User:                    /:
 nobody4:x:65534:65534:SunOS 4.x NFS Anonymous Access User:                    /:

-T 옵션을 지정하면 각 걸럼을 HTML TABLE로 만들어 출력한다.
# pickfield -d: -T -G 1,3,5 /etc/passwd
<table cellspacing=0 cellpadding=3 border=1>
<tr><td>root</td><td>0</td><td>Super-User</td><td>/bin/bash</td></tr>
<tr><td>daemon</td><td>1</td><td></td><td></td></tr>
<tr><td>bin</td><td>2</td><td></td><td></td></tr>
<tr><td>sys</td><td>3</td><td></td><td></td></tr>
<tr><td>adm</td><td>4</td><td>Admin</td><td></td></tr>
<tr><td>lp</td><td>71</td><td>Line Printer Admin</td><td></td></tr>
<tr><td>uucp</td><td>5</td><td>uucp Admin</td><td></td></tr>
<tr><td>nuucp</td><td>9</td><td>uucp Admin</td><td>/usr/lib/uucp/uucico</td></tr>
<tr><td>smmsp</td><td>25</td><td>SendMail Message Submission Program</td><td></td></tr>
<tr><td>listen</td><td>37</td><td>Network Admin</td><td></td></tr>
<tr><td>gdm</td><td>50</td><td>GDM Reserved UID</td><td></td></tr>
<tr><td>webservd</td><td>80</td><td>WebServer Reserved UID</td><td></td></tr>
<tr><td>postgres</td><td>90</td><td>PostgreSQL Reserved UID</td><td>/usr/bin/pfksh</td></tr>
<tr><td>svctag</td><td>95</td><td>Service Tag UID</td><td></td></tr>
<tr><td>unknown</td><td>96</td><td>Unknown Remote UID</td><td></td></tr>
<tr><td>nobody</td><td>60001</td><td>NFS Anonymous Access User</td><td></td></tr>
<tr><td>noaccess</td><td>60002</td><td>No Access User</td><td></td></tr>
<tr><td>nobody4</td><td>65534</td><td>SunOS 4.x NFS Anonymous Access User</td><td></td></tr>
</table> 


위의 HTML 출력은 웹 브라우저에서 다음과 같이 보인다.
root0Super-User/bin/bash
daemon1
bin2
sys3
adm4Admin
lp71Line Printer Admin
uucp5uucp Admin
nuucp9uucp Admin/usr/lib/uucp/uucico
smmsp25SendMail Message Submission Program
listen37Network Admin
gdm50GDM Reserved UID
webservd80WebServer Reserved UID
postgres90PostgreSQL Reserved UID/usr/bin/pfksh
svctag95Service Tag UID
unknown96Unknown Remote UID
nobody60001NFS Anonymous Access User
noaccess60002No Access User
nobody465534SunOS 4.x NFS Anonymous Access User

-1 string 옵션을 사용하여 출력되는 라인의 왼쪽에 문자열을 넣을 수 있고, -9 string 옵션을 사용하여 출력되는 라인의 오른쪽에 문자열을 넣을 수 있다.
# pickfield -d: -1 "userid='" -9 "'" -G 3 /etc/passwd
userid='0'
userid='1'
userid='2'
userid='3'
userid='4'
useriid71'
userid='5'
userid='9'
userid='25'
userid='37'
userid='50'
userid='80'
userid='90'
userid='95'
userid='96'
userid='60001'
userid='60002'
userid='65534'

-s string 옵션을 사용하여 출력되는 데이타의 첫 라인에 문자열을 출력할 수 있고, -e string 끝 라인에 문자열을 출력할 수 있다.
# pickfield -d: -s "File: /etc/passwd" -e "keep it secure" -1 "username=" -G 3 /etc/passwd
File: /etc/passwd
username=0
username=1
username=2
username=3
username=4
username=71
username=5
username=9
username=25
username=37
username=50
username=80
username=90
username=95
username=96
username=60001
username=60002
username=65534
keep it secure

-p 옵션을 사용하여 각 라인의 컬럼에 가상의 컬럼을 추가할 수 있다. -p TIME 이라고 지지정하면, 입력되는 라인을 읽을 때마다 현재의 시스템 시간를 첫 컬럼 앞에 가상의 칼럼으로 추가한다.

다음은 vmstat 명령어를 1초 단위로 실행하고, 그 결과를 파이프로 받아서 시간 정보를 출력하는 예제이다.

# vmstat 1 | pickfield -d, -D " : " -p TIME -G 1
01:53:46 : kthr      memory            page            disk          faults      cpu
01:53:46 : r b w   swap  free  re  mf pi po fr de sr s0 -- -- --   in   sy   cs us sy id
01:53:46 : 0 0 0 2448872 1613692 24 53 44 0  5  0 242 6  0  0  0  324  402  349  0  1 99
01:53:47 : 0 0 0 2430396 1503000 41 206 0 0  0  0  0  0  0  0  0  323  491  232  0  0 100
01:53:48 : 0 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  320  309  223  0  0 100
01:53:49 : 1 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  312  300  214  0  1 99
01:53:50 : 0 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  314  295  214  1  1 98
01:53:51 : 0 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  328  344  233  0  0 100
01:53:52 : 0 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  318  302  221  0  0 100
01:53:53 : 0 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  314  299  216  0  1 99
01:53:54 : 0 0 0 2430316 1502952 0  0  0  0  0  0  0  0  0  0  0  320  360  225  0  1 99
01:53:55 : 0 0 0 2430308 1502944 0  0  0  0  0  0  0  0  0  0  0  314  305  217  0  1 99
01:53:56 : 0 0 0 2430308 1502944 0  0  0  0  0  0  0  0  0  0  0  330  333  228  0  0 100
01:53:57 : 0 0 0 2430308 1502944 0  0  0  0  0  0  0  0  0  0  0  318  303  228  0  1 99
01:53:58 : 0 0 0 2430308 1502944 0  0  0  0  0  0  0  0  0  0  0  314  301  215  0  1 99
01:53:59 : 0 0 0 2430308 1502944 0  0  0  0  0  0  0  0  0  0  0  312  299  213  0  1 99
01:54:00 : 0 0 0 2430308 1502944 0  0  0  0  0  0  0  0  0  0  0  324  776  238  0  1 99
01:54:01 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  317  331  214  0  1 99
01:54:02 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  319  298  217  1  1 98
01:54:03 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  318  302  223  0  1 99
01:54:04 : kthr      memory            page            disk          faults      cpu
01:54:04 : r b w   swap  free  re  mf pi po fr de sr s0 -- -- --   in   sy   cs us sy id
01:54:04 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  315  370  218  0  0 100
01:54:05 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  323  309  220  0  1 99
01:54:06 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  328  333  236  0  1 99
01:54:07 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  314  301  227  0  0 100
01:54:08 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  318  301  220  0  1 99
01:54:09 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  316  301  221  0  0 100
01:54:10 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  316  302  219  0  0 100
01:54:11 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  322  331  221  0  0 100
01:54:12 : 0 0 0 2430308 1502940 0  0  0  0  0  0  0  0  0  0  0  325  306  232  0  0 100
위의 예제에서 컬럼의 입력 컬럼의 분리자로 ,(콤마)를 선택하였고 출력 분리자로 " : " 을 선택했다. vmstat 명령어의 결과에서 콤마가 없기 때문에 vmstat 명령어의 전체 라인이 하나의 컬럼 데이타가 된다.

-p 옵션은 출력되는 각 라인의 첫번 컬럼 데이타로 다음과 같은 가상의 컬럼을 추가한다.

LINENO[-start] 라인 번호를 첫번째 컬럼 데이타로 추가함.

# pickfield -p LINENO-101 -d : -G 0 /etc/group
101:root::0:
102:other::1:root
103:bin::2:root,daemon
104:sys::3:root,bin,adm
105:adm::4:root,daemon
106:uucp::5:root
107:mail::6:root
108:tty::7:root,adm
109:lp::8:root,adm
110:nuucp::9:root
111:staff::10:
112:daemon::12:root
113:sysadmin::14:
114:smmsp::25:
115:gdm::50:
116:webservd::80:
117:postgres::90:
118:unknown::96:
119:nobody::60001:
120:noaccess::60002:
121:nogroup::65534:
122:vboxsf::100:

TIME HH:MM:SS 형식의 시간 정보를 첫번째 컬럼 데이타로 추가함.

DATE.TIME mmdd.HH:MM:SS 형식의 시간 정보를 첫번째 컬럼 데이타로 추가함.

# pickfield -p LINENO-101 -d : -G 0 /etc/group
# iostat -c 1 | pickfield -G 0 -p DATE.TIME
0505.20:44:31   cpu
0505.20:44:31   us      sy      wt      id
0505.20:44:31   1       1       0       98
0505.20:44:32   0       0       0       100
0505.20:44:33   0       0       0       100
0505.20:44:34   0       1       0       99
0505.20:44:35   0       0       0       100
0505.20:44:36   0       0       0       100
... skip ...

T-hh:mm:ss-interval 이미 수집된 데이타에 대하여 시작 시간(hh:mm:dd) 과 시간 간격(interval)을 지정하면 입력 데이타에 지정한 시간과 시간 간격으로 첫번째 컬럼 데이타로 시간을 추가함.

# pickfield -p T-09:00:00-5 -G 0 /etc/group
09:00:00        root::0:
09:00:05        other::1:root
09:00:10        bin::2:root,daemon
09:00:15        sys::3:root,bin,adm
09:00:20        adm::4:root,daemon
09:00:25        uucp::5:root
09:00:30        mail::6:root
09:00:35        tty::7:root,adm
09:00:40        lp::8:root,adm
09:00:45        nuucp::9:root
09:00:50        staff::10:
09:00:55        daemon::12:root
09:01:00        sysadmin::14:
09:01:05        smmsp::25:
09:01:10        gdm::50:
09:01:15        webservd::80:
09:01:20        postgres::90:
09:01:25        unknown::96:
09:01:30        nobody::60001:
09:01:35        noaccess::60002:
09:01:40        nogroup::65534:
09:01:45        vboxsf::100:

다음은 pickfield 명령어의 옵션에 대한 설명이다.

-E 옵션을 사용하면, 입력되는 라인에서 공백 라인을 입력에서 배재한다.
옵션설명
-1 string -1 옵션을 사용하여 출력되는 라인의 왼쪽에 문자열을 넣을 수 있다.

	# pickfield -d : -G 1,2,3 /etc/group

-9 string -9 옵션을 사용하여 출력되는 라인의 오른쪽에 문자열을 넣을 수 있다. # pickfield -d : -G 1,2,3 /etc/group
-d char -d 옵션을 사용하여 입력 데이타의 컬럼 구분자를 지장할 수 있다. 입력 구분자는 하나의 문자만 지정 가능하다.
-d 옵션을 지정하지 않으면, WhiteSpace 가 컬럼의 분리자가 된다. WhiteSpace는 스페이스 문자나 텝문자로 연속되는 임의의 개수까지를 하나의 분리자로 판단한다.
-D string -D 옵션을 사용하여 출력되는 데이타의 구분자 지정할 수 있다.
이 옵션을 지정하지 않으면, -d 옵션에 지정한 구분자가 사용된다. -d 옵션도 지정되어 있지 않으면, 탭(TAB)을 출력 구분자로 사용한다.
-e string -e 옵션에 문자열을 지정하면, 그 문자열을 입력 데이타의 처리가 끝난 후에 그 문자열을 출력한다.
-E -E 옵션을 지정하면, 입력 데이타에서 공백 라인은 입력에서 제외한다.
-f fillchar -W 옵션에 값을 지정하여 출력되는 값의 공간의 크기를 지정하는데, 출력되는 값보다 큰 값을 지정할 경우에 공백이 출력되는데, -f character 옵션을 사용하여 공백을 대신하여 다른 문자를 출력한다.
-F -F 옵션을 지정하면, 입력 데이타를 일차로 읽어서 각 컬럼의 데이타를 비교하여 그 컬럼에서 제일 큰 폭을 차지하는 공간을 알아 낸 후에 다시 한번 데이타를 읽어서 컬럼이 동일한 폭을 가지는 크기로 데이타를 출력한다.
-F 옵션을 사용할 경우, 표준입력으로 데이타를 읽을 수 없고, 입력 파일명을 반드시 지정하여야 한다.
-G fn,... -G 옵션을 사용하여 출력하고자 하는 컬럼 번호를 지정한다. 영(zero)을 지정하면 모든 컬럼을 선택하는 것과 같다. 형식은 다음과 같다.
-G fn[:[n]{L|R}]
fn : 출력할 컬럼 번호를 지정한다.
n : 숫자를 지정하며, 출력할 컬럼의 데이타가 n 바이트의 폭을 가지고 출력한다.
n 바이트 보다 데이타가 작으면 나머지 공간을 공백(space)로 채운다.
L : 왼쪽으로 정렬(디폴트)
R : 오른쪽으로 정렬
	-G 1,3	      : 1, 3 번 컬럼의 데이타를 선택한다.
	-G 1:10,3:5L  : 1 번 컬럼의 데이타를 선택하고, 출력할 때, 그 폭을 10 바이트의 크기를 갖게한다.
	                  3 번 컬럼의 데이타를 선택하고, 출력할 때, 그 폭을 5 바이트의 크기를 갖게 하고,
                          왼쪽으로 정렬하여 출력한다.

	-G 1:20R      : 1 번 컬럼의 데이타를 선택하고, 출력할 때, 그 폭을 20 바이트의 크기를 갖게 하고,
                        오른쪽으로 정렬하여 출력한다.
-h -h 옵션을 지정하면, 첫번 라인에 각 컬럼의 번호를 출력한다.

# pickfield -F -d: -G 0 -h /etc/group
       1:2:    3:           4
    root::    0:
   other::    1:        root
     bin::    2: root,daemon
     sys::    3:root,bin,adm
     adm::    4: root,daemon
    uucp::    5:        root
    mail::    6:        root
     tty::    7:    root,adm
      lp::    8:    root,adm
   nuucp::    9:        root
   staff::   10:
  daemon::   12:        root
sysadmin::   14:
   smmsp::   25:
     gdm::   50:
webservd::   80:
 unknown::   96:
  nobody::60001:
noaccess::60002:
 nogroup::65534:

-F 옵션을 지정하면, 전체 컬럼에 대한 컬럼 번호를 지정하지만, -F 옵션이 없을 경우, 첫 라이에 있는 걸럼 번호만 출력된다.

-o outfile -o 옵션을 사용하여 결과물을 파일에 저장할 수 있다. -o 옵션을 지정하지 않으면, 표준 출력으로 결과룰 보여준다.
-p string -p 옵션을 사용하여 출력되는 결과물의 첫번 컬럼으로 특별한 문자열을 추가한다.
LINENO[-start] 라인 번호를 첫번째 컬럼 데이타로 추가함.

TIME HH:MM:SS 형식의 시간 정보를 첫번째 컬럼 데이타로 추가함.

DATE.TIME mmdd.HH:MM:SS 형식의 시간 정보를 첫번째 컬럼 데이타로 추가함.

T-hh:mm:ss-interval 이미 수집된 데이타에 대하여 시작 시간(hh:mm:dd) 과 시간 간격(interval)을 지정하면 입력 데이타에 지정한 시간과 시간 간격으로 첫번째 컬럼 데이타로 시간을 추가함.

-s string -s 옵션에 문자열을 지정하면, 그 문자열을 입력 데이타의 첫번째 라인이 처리되기 전에 그 문자열을 출력한다.
-S skiplist -S 옵션을 사용하여 데이타로 사용되지 않는 입력라인을 제거할 수 있다. file속에 있는 내용 중에 데이타가 아닌 라인이 있을 경우, -S 옵션을 사용하여, 그 라인에서 시작하는 문자열을 지정하여 스킵할 수 있다. 스킵하고 싶은 문자열이 여러 개가 있을 경우에 콤마(,)로 구분한다. 지정한 문자열과 입력 데이타 라인과 비교하여, 일치하면 그 라인을 스킵한다. 입력 라인에서 시작 부분의 whitespace (공백 또는 탭)는 비교되지 않는다. -S 옵션은 스킵하고 싶은 문자열을 지정한다. 문자열은 첫번째 단어를 전부 지정하여도 되고, 시작부터 일부분만 지정하여도 된다. 여러 문자열을 지정할 경우에는 콤마로 구분한다.

예를들어 -S p,ro 라고 지정하면, p 또는 ro로 시작하는 라인은 스킵한다.

-t -t 옵션을 지정하면, 입력 데이타에서 각 컬럼의 좌,우에 있는 Whitespace를 제거한다.
-V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
-W colwidth -W 옵션을 사용하요 출력하는 컬럼의 폭을 지정한다.

# pickfield -W 20 -d: -G 1,3,4 /etc/group
                root:                   0:
               other:                   1:                root
                 bin:                   2:         root,daemon
                 sys:                   3:        root,bin,adm
                 adm:                   4:         root,daemon
                uucp:                   5:                root
                mail:                   6:                root
                 tty:                   7:            root,adm
                  lp:                   8:            root,adm
... skip ...              

출력할 테이타의 크기가 지정한 공간보타 크면, 지정한 공간의 크기는 무시된다.

-X -X 옵션을 지정하면, 출력에서 컬럼의 분리자를 출력하지 않는다.
file file 입력 파일명을 지정한다.
입력 파일명을 생략하면, 표준 입력에서 데이타를 읽는다. -F 옵션이 사용되면, 표준 입력에서 데이타를 읽지 못한다. 반드시 파일명을 지정하여야 한다.