分类:
2011-08-26 14:31:19
[Copy to clipboard] [ - ]
CODE:
paste -d -s -file1 file2
QUOTE:
选项含义如下:
-d 指定不同于空格或t
a b键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。
- 使用标准输入。例如ls
-l |paste ,意即只在一列上显示输出。
从前面的剪切中取得下述两个文件:
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$ cut
-d" " -f 2 pers2 >pas1
[sam@chenwy sam]$ cat pas1
ID897
ID666
ID982
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$ cut
-d" " -f1 pers >pas2
[sam@chenwy sam]$ cat pas2
P.Jones
S.Round
L.Clip
基本p a s t e命令将之粘贴成两列:
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$ paste
pas1 pas2
ID897 P.Jones
ID666 S.Round
ID982 L.Clip
指定列
通过交换文件名即可指定哪一列先粘:
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$
paste pas2 pas1
P.Jones ID897
S.Round ID666
L.Clip ID982
使用不同的域分隔符
要创建不同于空格或t a b键的域分隔符,使用- d选项。下面的例子用冒号做域分隔符。
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$
paste -d: pas2 pas1
P.Jones:ID897
S.Round:ID666
L.Clip:ID982
要合并两行,而不是按行粘贴,可以使用-
s选项。下面的例子中,第一行粘贴为名字,第二行是I D号。
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$
paste -s pas2 pas1
P.Jones S.Round L.Clip
ID897 ID666 ID982
paste命令管道输入
p a s t e命令还有一个很有用的选项( -)。意即对每一个(
-),从标准输入中读一次数据。
使用空格作域分隔符,以一个4列格式显示目录列表。方法如下:
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$ ls
| paste -d" " - - - - -
1.bak 1.txt append.sed backll.ee change.sed
data.f data.txt delete_me_and_die dht dir1
......................
一行显示四个文件,以空格分开
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$ ls
| paste -d: - - - - -
1.bak:1.txt:append.sed:backll.ee:change.sed
data.f:data.txt:delete_me_and_die:dht:dir1
.....................
一行显示四个文件,以冒号:分开
也可以以一列格式显示输出:
[Copy to clipboard] [ - ]
CODE:
[sam@chenwy sam]$ ls
| paste -d" " -
1.bak
1.txt
append.sed
backll.ee
..................
一行显示一个文件