cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件
==========================================================================================================
cut一般格式为:
cut [options] file1 file2
下面介绍其可用参数
-c list 指定剪切字符数
-f field 指定剪切域数
-d 指定与空格和tab键不同的域分割符
-c 用来指定剪切范围,如下所示:
-c1-50 剪切前50个字符
-c1,5-7 剪切第1个字符,然后是5到第7个字符
-f 格式与-c相同
-f 1,5 剪切第1域,第5域
-f1,10-12 剪切第1域,第10域到第12域
设有pers文件 $pg pers
P.Jones:Office Runner:ID897
Round:UNIX admin:ID666
Clip:Personal Chief:ID982
抽取pers的第3域
$cut -d: -f3 pers
抽取pers的第1和第3域
$cut -d: f1,3 pers
获取/etc/passwd中注册名和根目录,可抽取其域1和域6
$cut -d: -f1,6 /etc/passwd
root:/root
daemon:/usr/sbin
bin:/bin
sys:/dev
sync:/bin
games:/usr/games
man:/var/cache/man
lp:/var/spool/lpd
mail:/var/mail
news:/var/spool/news
uucp:/var/spool/uucp
proxy:/bin
www-data:/var/www
backup:/var/backups
list:/var/list
irc:/var/run/ircd
gnats:/var/lib/gnats
nobody:/nonexistent
libuuid:/var/lib/libuuid
syslog:/home/syslog
messagebus:/var/run/dbus
avahi-autoipd:/var/lib/avahi-autoipd
avahi:/var/run/avahi-daemon
couchdb:/var/lib/couchdb
usbmux:/home/usbmux
speech-dispatcher:/var/run/speech-dispatcher
kernoops:/
pulse:/var/run/pulse
rtkit:/proc
saned:/home/saned
hplip:/var/run/hplip
gdm:/var/lib/gdm
dongjichao:/home/dongjichao
haldaemon:/var/run/hald
festival:/home/festival
mldonkey:/var/lib/mldonkey
获取系统用户信息
$who -u | cut -c1-8
==========================================================================================================
paste用法
paste将按行对不同文件行信息放在一起。缺省情况下,paste连接时,用空格或tab键分隔新行中不同文本,除非指定-d选项,它将
成为域分隔符
paste格式为:
paste -d -s -file1 file2
选项含义如下:
-d 指定不同于空格或tab键的域分隔符。例如使用@分隔符,使用-d@
例如有两个文件
$cat pas1
ID897
ID666
ID982
$cat pas2
P.Jones
S.Round
L.Clip
$paste pas1 pas2结果为
ID897 P.Jones
ID666 S.Round
ID982 L.Clip
$paste pas2 pas1结果为
P.Jones ID897
S.Round ID666
L.Clip ID982
$paste -d: pas2 pas1
P.Jones:ID897
S.Round:ID666
L.Clip:ID982
要合并两行,而不是按行粘贴,可用-s选项
$paste -s pas2 pas1
P.Jones S.Round L.Clip
ID897 ID666 ID982
paste命令管道输入
$ls | paste -d " " - - - - #表示每行4个目录,并且用空格分开
append.sed array1.sh change.sed data.f
delete_me_and_die forfind.sh forparam2.sh getip2.sh
grade.txt insert.sed lib log.txt
mustpreset2.sh mustpreset.sh myfile.txt myoutfile
names.txt parts.txt pas1 pas2
pers poz2.sh prime.sh quote.txt
results.out unset1.sh video.txt whileread.sh
$ls | paste -d " " - #每行显示一个目录列表
append.sed
array1.sh
change.sed
data.f
delete_me_and_die
forfind.sh
.........
ID666
ID982