范例三:使用
ls
-
al /
输
出的信息中,每十行
记录
成一
个
文件
[dmtsai@study tmp]$
ls
-
al / | split
-
l 10
-
lsroot
[dmtsai@study tmp]$
wc
-
l lsroot*
10 lsrootaa
10 lsrootab
4 lsrootac
24 total
#
重
点
在那
个
-
啦!一般
来说
,如果需要
stdout/stdin
时
,但偏偏又
没
有
文件
,
#
有的只是
-
时
,那么那
个
-
就
会
被
当
成
stdin
或
stdout
~
在
Windows
操作系统下,你要½文件分区需要如何作?伤脑½吧!在
Linux
底下就简单的多了!
你要½文件分区的话,那么就使用
-b size
来½一个分区的文件限制其大小,如果是行数的话,那么
就使用
-l line
来分区!好用的很!如此一来,你就可以轻易的½你的文件分区成某些软件能够支持
的最大容量
(
例如
gmail
单一信件
25MB
之类的!
)
,方便你
copy
啰!
10.6.6
参数代换:
xargs
xargs
是在做什么的呢?就以字面上的意义来看,
x
是加减乘除的乘号,
args
则是
arguments (
参数
)
的意思,所以说,
这个玩意儿就是在产生某个指令的参数的意思!
xargs
可以读入
stdin
的数据,并
且以空格符或断行字符作为分辨,½
stdin
的资料分隔成为
arguments
。
因为是以空格符作为分隔,
所以,如果有一些档名或者是其他意义的名词内含有空格符的时候,
xargs
可能就会误判了~他的
用法其实也还满简单的!就来看一看先!
[dmtsai@study ~]$
xargs [
-
0epn] command
选项
与
参数
:
-
0
:如果
输
入的
stdin
含有特殊字符,例如
`,
\
,
空格
键
等等字符
时
,
这个
-
0
参数
可以
½
他
还
原成一般字符。
这个参数
可以用于特殊
状态
喔!
-
e
:
这个
是
EOF (end of file)
的意思。后面可以½一
个
字符串,
当
xargs
分析到
这个
字符串
时
,
就
会
停止
继续
工作!
-
p
:在
执
行每
个
指令的
argument
时
,都
会询问
使用者的意思;
-
n
:后面½次
数
,每次
command
指令
执
行
时
,要使用几
个参数
的意思。
当
xargs
后面
没
有½任何的指令
时
,默
认
是以
echo
来½
行
输
出喔!
范例一:
½
/etc/passwd
内
的第一
栏
取出,
½
取三行,使用
id
这个
指令
½
每
个账号内
容秀出
来
[dmtsai@study ~]$
id root
uid=0(root) gid=0(root) groups=0(root)
#
这个
id
指令可以查
询
用
户
的
UID/GID
等信息
[dmtsai@study ~]$
id $(cut
-
d
':'
-
f 1 /etc/passwd | head
-
n 3)
#
虽
然使用
$(cmd)
可以
预
先取得
参数
,但可惜的是,
id
这个
指令『
½
』能½受一
个参数
而已!
#
所以上述的
这个
指令
执
行
会
出
现错误
!根本不
会显
示用
户
的
ID
啊!
[dmtsai@study ~]$
cut
-
d ':'
-
f 1 /etc/passwd | head
-
n 3 | id