xarg 之道

| tags xarg  shell 

Xarg的一些常见用法

xarg和find是对好基友

find . -type f -name "*md" -print0|xarg -0 rm -f
//删除*md
当然,我们还可以这样,
find . -type f -name "*md" -delete
又或者,
find . -type f -name "*md" -print -exec rm -rf {} \;

一些常见的例子:

例1:

cat /etc/
[hl@/etc$] cat passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
messagebus:x:102:105::/var/run/dbus:/bin/false
colord:x:103:108:colord colour management daemon,,,:/var/lib/colord:/bin/false
lightdm:x:104:111:Light Display Manager:/var/lib/lightdm:/bin/false
whoopsie:x:105:114::/nonexistent:/bin/false
avahi-autoipd:x:106:117:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
avahi:x:107:118:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
usbmux:x:108:46:usbmux daemon,,,:/home/usbmux:/bin/false
kernoops:x:109:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
pulse:x:110:119:PulseAudio daemon,,,:/var/run/pulse:/bin/false
rtkit:x:111:122:RealtimeKit,,,:/proc:/bin/false
speech-dispatcher:x:112:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh
hplip:x:113:7:HPLIP system user,,,:/var/run/hplip:/bin/false
saned:x:114:123::/home/saned:/bin/false
hl:x:1000:1000:hl,,,:/home/hl:/bin/bash
sshd:x:115:65534::/var/run/sshd:/usr/sbin/nologin
vboxadd:x:999:1::/var/run/vboxadd:/bin/false
mysql:x:116:125:MySQL Server,,,:/nonexistent:/bin/false
rabbitmq:x:117:126:RabbitMQ messaging server,,,:/var/lib/rabbitmq:/bin/false
lfs:x:1001:1002::/home/lfs:/bin/bash

我们只想显示用户名:

cat /etc/passwd|cut -d":" -f1
[hl@/etc$] cat /etc/passwd|cut -d":" -f1
root
daemon
bin
sys
sync
games
man

file找到连接和压缩标志的档案,显示第一名称,并作为输入通过xargs 传递参数执行,ls -ltr

file Lz *|cut -d":" -f1|xargs ls -ltr

file 找到当前目录下的所有C文件,并计算行数目:

file *.c|cut -d"." -f1|xargs wc -l

(continue)


上一篇     下一篇