7.6. рПЙУЛ ЖБКМБ РП ЪБДБООЩН БФТЙВХФБН

[+]7.6.1. хУМПЧЙС ДМС РПЙУЛБ ЛПНБОДПК find(1)
[+]7.6.2. дЕКУФЧЙС ЧЩРПМОСЕНЩЕ ЛПНБОДПК find(1) У ОБКДЕООЩНЙ ЖБКМБНЙ
[+]7.6.3. уЧСЪЛБ У ЛПНБОДПК xargs

пРЙУБОЙЕ:љ хФЙМЙФБ find(1) ОЕЪБНЕОЙНБ РТЙ РПЙУЛЕ ЖБКМПЧ У ЪБДБООЩНЙ РБТБНЕФТБНЙ. лБОДЙДБФ BSDA ДПМЦЕО УЧПВПДОП ЧМБДЕФШ ЕА. оБ ЬЛЪБНЕОЕ ЕЗП НПЗХФ РПРТПУЙФШ ОБКФЙ ЖБКМ У ЪБДБООЩН РПУМЕДОЙН ЧТЕНЕОЕН ЙЪНЕОЕОЙС, ТБЪНЕТПН, ФЙРПН, ЖБКМПЧЩНЙ ЖМБЗБНЙ, UID, GID, РЕТНЙУУЙСНЙ ЙМЙ УПДЕТЦБЭЙН Ч ОБЪЧБОЙЙ ЛБЛПК-ФП ЫБВМПО.

рТБЛФЙЛБ:љfind(1)

лПННЕОФБТЙК

лПНБОДБ find(1) РТЕДОБЪОБЮЕОБ ДМС РПЙУЛБ ЖБКМПЧ РП ЪБДБООПНХ ЛТЙФЕТЙА. жПТНБФ ЛПНБОДЩ:

find [ПРГЙЙ] ЗДЕ_ЙУЛБФШ [ЮФП ЙУЛБФШ (ХУМПЧЙС)] [ДЕКУФЧЙЕ]
        

пРГЙЙ НПЗХФ ВЩФШ ТБЪМЙЮОЩЕ, ПОЙ ТЕЗХМЙТХАФ РПЧЕДЕОЙЕ find(1) РТЙ РПЙУЛЕ. л ФПНХ ЦЕ ПОЙ Ч ТБЪОЩИ ЧЕТУЙСИ Й Ч ТБЪОЩИ УЙУФЕНБИ ТБЪОЩЕ. фБЛ, ОБРТНЕТ, ПРГЙС -E, ЙЪНЕОСАЭБС УЙОФБЛУЙУ ТЕЗХМСТОЩИ ЧЩТБЦЕОЙК Ч ПРГЙСИ -regex Й -iregex РПДПВОП БОБМПЗЙЮОПК ПРГЙЙ Ч grep(1), ЙНЕЕФУС ФПМШЛП Ч FreeBSD.

рПЦБМХК ЧБЦОП ЪОБФШ ПРГЙА -x. пОБ РТЕДПФЧТБЭБЕФ РПЙУЛ ОБ ХУФТПКУФЧБИ ПФМЙЮОЩИ ПФ ХУФТПКУФЧБ, У ЛПФПТПЗП РПЙУЛ ОБЮБМУС. оБРТЙНЕТ:

find -x /home/user
        

ьФБ ЛПНБОДБ ЧЩЧЕДЕФ УРЙУПЛ ЧУЕИ ЖБКМПЧ Ч ДПНБЫОЕН ЛБФБМПЗЕ РПМШЪПЧБФЕМС user Й ЧП ЧУЕИ РПДЛБФБМПЗБИ, ЛТПНЕ ЛБФБМПЗПЧ СЧМСАЭЙИУС ФПЮЛБНЙ НПОФЙТПЧБОЙС ДТХЗЙИ ХУФТПКУФЧ (/home/user/mnt/floppy, /home/user/mnt/cdrom, /home/user/mnt/nfs).

рХФШ ОБДП ХЛБЪЩЧБФШ ПВСЪБФЕМШОП. оЕЛПФПТЩЕ ЧЕТУЙЙ GNU find РТПЧПДСФ РПЙУЛ ПФОПУЙФЕМШОП ФЕЛХЭЕЗП ЛБФБМПЗБ, ЕУМЙ ЙН ОЕ ХЛБЪБФШ РХФШ, find Ч BSD ФТЕВХЕФ СЧОПЗП ХЛБЪБОЙС РХФЙ. ч ПУПВЩИ УМХЮБСИ, ЛПЗДБ РХФШ, Ч ЛПФПТПН ОБДП РТПЙЪЧПДЙФШ РПЙЛ ЙНЕЕФ ОЕПВЩЮОПЕ ЙНС, НПЦОП ХЛБЪБФШ ЕЗП ЛБЛ БТЗХНЕОФ ПРГЙЙ -f.

7.6.1. хУМПЧЙС ДМС РПЙУЛБ ЛПНБОДПК find(1)

хУМПЧЙС ДМС РПЙУЛБ ЪБДБАФУС ПРГЙСНЙ, РЕТЕЮЙУМЕООЩНЙ ОЙЦЕ. рТЙ ЪБДБОЙЙ ОЕУЛПМШЛЙИ ПРГЙК, ПОЙ ПВЯЕДЙОСАФУС ЮЕТЕЪ ПРЕТБФПТ «Й». уЧСЪЛХ «Й» НПЦОП ЪБДБФШ СЧОП ЙУРПМШЪХС ПРГЙА -and. уЧСЪЛБ «ЙМЙ» ЪБДБЈФУС ПРГЙЕК -or. хОБТОПЕ ПФТЙГБОЙЕљ— ! Й УЙНЧПМЩ ЗТХРРЙТПЧЛЙљ— (...), Ч sh Й csh ОЕПВИПДЙНП ЪБЭЙЭБФШ ЙУРПМШЪХС МЙВП ЛБЧЩЮЛЙ, МЙВП \.

-amin n -cmin n -mmin n
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ТБЪОЙГБ НЕЦДХ ЧТЕНЕОЕН ЛПЗДБ ВЩМ ЪБРХЭЕО РПЙУЛ Й ЧТЕНЕОЕН ЖБКМБ НЕОШЫЕ n НЙОХФ. ъДЕУШ РПД ЧТЕНЕОЕН ЖБКМБ ЙНЕЕФУС ЧЧЙДХ: -aminљ— access time (ЧТЕНС РПУМЕДОЕЗП ДПУФХРБ Л ЖБКМХ), -cminљ— change of file status information (ЧТЕНС ЙЪНЕОЕОЙС ЙОЖПТНБГЙЙ П УПУФПСОЙЙ ЖБКМБ) -mtimeљ— modification time (ЧТЕНС ЙЪНЕОЕОЙС ЖБКМБ)
-anewer file -cnewer file -mnewer file
хУМПЧЙЕ ЙУФЙООП, ОБКДЕООЩК ЖБКМ НПМПЦЕ ХЛБЪБООПЗП. ъДЕУШ РПД ЧТЕНЕОЕН ЖБКМБ ЙНЕЕФУС ЧЧЙДХ: -anewerљ— access time (ЧТЕНС РПУМЕДОЕЗП ДПУФХРБ Л ЖБКМХ), -cnewerљ— change of file status information (ЧТЕНС ЙЪНЕОЕОЙС ЙОЖПТНБГЙЙ П УПУФПСОЙЙ ЖБКМБ) -mnewerљ— modification time (ЧТЕНС ЙЪНЕОЕОЙС ЖБКМБ)
-atime n -ctime n -mtime n

хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ТБЪОЙГБ НЕЦДХ ЧТЕНЕОЕН ЛПЗДБ ВЩМ ЪБРХЭЕО РПЙУЛ Й ЧТЕНЕОЕН ЖБКМБ ПЛТХЗМЈООБС ЧЧЕТИ, Ч ФПЮОПУФЙ n УХФПЛ. ъДЕУШ РПД ЧТЕНЕОЕН ЖБКМБ ЙНЕЕФУС ЧЧЙДХ: -aminљ— access time (ЧТЕНС РПУМЕДОЕЗП ДПУФХРБ Л ЖБКМХ), -cminљ— change of file status information (ЧТЕНС ЙЪНЕОЕОЙС ЙОЖПТНБГЙЙ П УПУФПСОЙЙ ЖБКМБ) -mtimeљ— modification time (ЧТЕНС ЙЪНЕОЕОЙС ЖБКМБ)

х ЧТЕНЕОЙ НПЦОП ЪБДБЧБФШ ЪОБЛ: -mtimeљ-7љ— ЙЭЕН ЖБКМЩ ЙЪНЕОЈООЩЕ ЪБ РПУМЕДОАА ОЕДЕМА, -mtimeљ+7љ— ЙЭЕН ЖБКМЩ ОЕ НЕОСЧЫЙЕУС Ч ФЕЮЕОЙЕ ОЕДЕМЙ.

ч FreeBSD ЙНЕЕФУС ТБУЫЙТЕОЙЕ УЙОФБЛУЙУБ: ПРГЙСН -atime, -ctime Й -mtime НПЦОП ХЛБЪЩЧБФШ ЧТЕНС У ТБЪНЕТОПУФША Ч УЕЛХОДБИ, НЙОХФБИ, ЮБУБИ, ДОСИ Й ОЕДЕМСИ. оБРТЙНЕТ 2s, 3m, 4h, 5d, 6w. нПЦОП ЛПНВЙОЙТПЧБФШ ТБЪНЕТОПУФЙ: 5d6wљ— ЫЕУФШ ОЕДЕМШ Й РСФШ ДОЕК.

ч OpenBSD Й NetBSD ДМС БОБМПЗЙЮОПЗП РПЙУЛБ РТЙДЈФУС РПМШЪПЧБФШУС ПРГЙСНЙ -amin, -cmin Й -mmin, РЕТЕЧПДЙФШ ЧТЕНС Ч НЙОХФЩ Й ЙУРПМШЪПЧБФШ ЗДЕ ОБДП ПФТЙГБОЙЕ !.

-newer file
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ ЙЪНЕОЈО РПЪЦЕ ХЛБЪБООПЗП
-newerXY file

пРГЙС ЕУФШ ФПМШЛП Ч FreeBSD!

хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ ЙНЕЕФ ВПМШЫЕЕ ЧТЕНС ДПУФХРБ (X=a), ЙЪНЕОЕОЙС УФБФХУБ (X=c), НПДЙЖЙЛБГЙЙ (X=m) ХЛБЪБООПЗП ЮЕН ЧТЕНС ДПУФХРБ (Y=a), ЙЪНЕОЕОЙС УФБФХУБ (Y=c), НПДЙЖЙЛБГЙЙ (Y=m) Х ХЛБЪБООПЗП ЖБКМБ.

-empty
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ ЙМЙ ЛБФБМПЗ РХУФ
-flags [-] flags
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ ЙМЙ ЛБФБМПЗ ЙНЕЕФ ХЛБЪБООЩЕ ЖМБЗЙ. жМБЗЙ СЧМСАФУС УЧПКУФЧПН ЖБКМПЧПК УЙУФЕНЩ UFS Й ПРЙУБОЩ Ч УРТБЧПЮОПК УФТБОЙГЕ chflags(1). еУМЙ ЪОБЛ - ОЕ ХЛБЪБО, ХУМПЧЙЕ ЙУФЙООП, ЕУМЙ ЖМБЗЙ Ч ФПЮОПУФЙ УППФЧЕФУФЧХАФ ХЛБЪБООЩН. еУМЙ ЪОБЛ - ХЛБЪБО, ХУМПЧЙЕ УПЧРБДБЕФ, ЕУМЙ ЛБЛ НЙОЙНХН ХЛБЪБООЩЕ ЖМБЗЙ РТЙУХФУФЧХАФ.
-perm [-] mode
mode НПЦЕФ ВЩФШ ЛБЛ УЙНЧПМШОЩН (chmod), ФБЛ Й ЧПУШНЕТЙЮОЩН. - ЙНЕЕФ ФП ЦЕ ЪОБЮЕОЙЕ, ЮФП Й Ч ПРГЙЙ -flags.
-group group, -user user
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ РТЙОБДМЕЦЙФ РПМШЪПЧБФЕМА user ЙМЙ ЗТХРРЕ group. нПЦОП ХЛБЪБЧБФШ ЛБЛ ЙНЕОБ, ФБЛ Й ID (ЕУМЙ ХЛБЪБОП ЮЙУФП Й РПМШЪПЧБФЕМС У ФБЛЙН ЙНЕОЕН ОЕФ, ПОП ФПМЛХЕФУС ЛБЛ ID).
-nogroup, -nouser
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ РТЙОБДМЕЦЙФ ОЕЙЪЧЕУФОПНХ РПМШЪПЧБФЕМА ЙМЙ ОЕЙЪЧЕУФОПК ЗТХРРЕ.
-type type

хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ ЙНЕЕФ ХЛБЪБООЩК ФЙР. чПЪНПЦОЩЕ ФЙРЩ ЖБКМБ:

bblock specialВМПЮОПЕ ХУФТПКУФЧП
ccharacter specialУЙНЧПМШОПЕ ХУФТПКУФЧП
ddirectoryЛБФБМПЗ
fregular fileПВЩЮОЩК ЖБКМ
lsymbolic linkУЙНЧПМШОБС УУЩМЛБ
pFIFOЙНЕОПЧБООЩК ЛБОБМ
ssoketУПЛЕФ

-fstype type
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ОБКДЕООЩК ЖБКМ ОБИПДЙФУС ОБ ХУФТПКУФЧЕ У ЖБКМПЧПК УЙУФЕНПК ФЙРБ type. чПЪНПЦОЩЕ ФЙРЩ ЖБКМПЧЩИ УЙУФЕН НПЦОП ХЪОБФШ РТЙ РПНПЭЙ sysctl(8) (sysctlљvfs). лТПНЕ ФПЗП, НПЦОП ЙУРПМШЪПЧБФШ ЛМАЮЕЧЩЕ УМПЧБ local Й rdonly.
-[i]name pattern
йНС ЖБКМБ. нПЦОП ХЛБЪБФШ ЫБВМПО У *, ? Й []. пРГЙС -iname ПФМЙЮБЕФУС ФЕН, ЮФП ЙЗОПТЙТХЕФ ТЕЗЙУФТ.
-[i]path pattern
рХФШ Л ЖБКМХ. нПЦОП ХЛБЪЩЧБФШ ЫБВМПО У *, ? Й []. / УЮЙФБЕФУС ПВЩЮОЩН УЙНЧПМПН. чБТЙБОФ ОЕЮХЧУФЧЙФЕМПШОЩК Л ТЕЗЙУФТХ ТЕБМЙЪПЧБО Ч FreeBSD Й NetBSD.
-[i]regex pattern

пРГЙС ОЕ ТЕБМЙЪПЧБОБ Ч OpenBSD!

хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ЙНС ЖБКМБ (ЧНЕУФЕ У РХФЈН) РПМОПУФША УППФЧЕФУФЧХЕФ ТЕЗХМСТОПНХ ЧЩТБЦЕОЙА pattern. юФП ЪОБЮЙФ РПМОПУФША? ыБВМПО foo ОЕ УППФЧЕФУФЧХЕФ РХФЙ ./foo/bar, Б .*foo.* УППФЧЕФУФЧХЕФ. чБТЙБОФ -iregex ОЕЮХЧФЧЙФЕМЕО Л ТЕЗЙУФТХ.

-size n[c]
хУМПЧЙЕ ЙУФЙООП, ЕУМЙ ЖБКМ ЪБОЙНБЕФ n ВМПЛПЧ РП 512 ВБКФ. чОЙНБОЙЕ! ЛПНБОДБ find(1) ОЕ ЙУРПМШЪХЕФ РЕТЕНЕООХА ПЛТХЦЕОЙС BLOCKSIZE. еУМЙ ХЛБЪБО УХЖЖЙЛУ c, ФП ТБЪНЕТ ВЕТЈФУС ФПЮОП Ч ВБКФБИ. фБЛ ЦЕ ЛБЛ Й Ч УМХЮБЕ У ПРГЙЕК -atime НПЦОП ЪБДБЧБФШ ЪОБЛ: -sizeљ-1024cљ— ЙУЛБФШ ЖБКМЩ ТБЪНЕТПН НЕОШЫЕ ЛЙМПВБКФБ.
-maxdepth n Й -mindepth n
нБЛУЙНБМШОБС Й НБОЙНБМШОБС ЗМХВЙОБ РПЗТХЦЕОЙС Ч РПДЛБФБМПЗЙ. оБРТЙНЕТ: -maxdepthљ1 ЙУЛБФШ ЖБКМЩ ФПМШЛП Ч ФЕЛХЭЕН ЛБФБМПЗЕ, ОЕ РПЗТХЦБСУШ Ч РПДЛБФБМПЗЙ.

7.6.2. дЕКУФЧЙС ЧЩРПМОСЕНЩЕ ЛПНБОДПК find(1) У ОБКДЕООЩНЙ ЖБКМБНЙ

рТПУФЕКЫЕЕ ДЕКУФЧЙЕљ— ОБРЕЮБФБФШ ЙНС ЖБКМБ ОБ STDOUT. ьФП ДЕКУФЧЙЕ РП ХНПМЮБОЙА РТЕДРТЙОЙНБЕФУС ЕУМЙ ОЙЮЕЗП ДТХЗПЗП ОЕ ХЛБЪБОП. пОП ЬЛЧЙЧБМЕОФОП ХЛБЪБОЙА ПРГЙЙ -print.

-print
дЕКУФЧЙЕ РП ХНПМЮБОЙА. оБРЕЮБФБФШ ЙНС ЖБКМБ.
-print0
оБРЕЮБФБФШ ЙНС ЖБКМБ. йНЕОБ РТЙ ЬФПН ВХДХФ ТБЪДЕМСФШУС ОХМЕЧЩН УЙНЧПМПН. пРГЙС УДЕМБОБ ДМС УПЧНЕУФОПК ТБВПФЩ У ЛПНБОДПК xargs(1).
-ls
рТП ЛБЦДЩК ЖБКМ ЧЩЧПДЙФУС РПДТПВОБС ЙОЖПТНБГЙС. фБЛ, ЛБЛ ВХДФП Л ЖБКМБН РТЙНЕОЙМЙ ЛПНБОДХ lsљ-dgils.
-delete

пРГЙС ЕУФШ ФПМШЛП Ч FreeBSD!

хДБМЙФШ ОБКДЕООЩЕ ЖБКМЩ Й ДЙТЕЛФПТЙЙ.

-exec ЛПНБОДБ [ПРГЙЙ [{}]] ;
оБЙВПМЕЕ ПВЭЙК УМХЮБК. рПЪЧПМСЕФ РТЙНЕОЙФШ Л ОБКДЕООЩН ЖБКМБН РТПЙЪЧПМШОХА ЛПНБОДХ. пРГЙЙ ВХДХФ РЕТЕДБОЩ ЬФПК ЛПНБОДЕ. еУМЙ Ч ПРГЙСИ ЧУФТЕФЙФУС РБТБ УЛПВПЛ {}, ФП ПОБ ВХДЕФ ЪБНЕОЕОБ ЙНЕОЕН ЖБКМБ (У РХФЈН). уЙНЧПМ ; ПЪОБЮБЕФ, ЮФП Ч ЬФПН НЕУФЕ ЪБЛПОЮЙМБУШ ЛПНБОДБ Й ЕЈ ПРГЙЙ.
-execdir ЛПНБОДБ [ПРГЙЙ [{}]] ;
фП ЦЕ, ЮФП Й -exec, ОП РТЙ ЧЩРПМОЕОЙЙ ЛПНБОДЩ find(1) РЕТЕИПДЙФ Ч ЛБФБМПЗ, ЗДЕ ОБИПДЙФУС ЖБКМ, Б {} ЪБНЕОСЕФ ОБ ЙНС ЖБКМБ ВЕЪ РХФЙ.
-ok ЛПНБОДБ [ПРГЙЙ [{}]] ;
фП ЦЕ, ЮФП Й -exec, ОП РЕТЕД ЧЩРПМОЕОЙЕН ЛПНБОДЩ find(1) ЪБРТБЫЙЧБЕФ РПДФЧЕТЦДЕОЙЕ Х РПМШЪПЧБФЕМС.
-exec ЛПНБОДБ [ПРГЙЙ [{}]] +

пРГЙС ЕУФШ ФПМШЛП Ч FreeBSD!

ьЛЧЙЧБМЕОФОБ ПРГЙЙ -exec ... ;, ОП ЪБНЕЭБЕФ {} ОЕ ПДОЙН ОБКДЕООЩН ЖБКМПН, Б УРЙУЛПН ЖБКМПЧ. фБЛЙН ПВТБЪПН, ХЛБЪБООБС ЛПНБОДБ ЧЩЪЩЧБЕФУС МЙЫШ ПДОБЦДЩ. ьФП ТБВПФБЕФ ЛБЛ ЦЕ, ЛБЛ УЧСЪЛБ У ЛПНБОДПК xargs(1).

7.6.3. уЧСЪЛБ У ЛПНБОДПК xargs

xargs [ПРГЙЙ] ЛПНБОДБ У БТЗХНЕОФБНЙ
        

лПНБОДБ xargs(1) ЮЙФБЕФ УРЙУПЛ ЖБКМПЧ ЙЪ УЧПЕЗП STDIN Й РПДУФБЧМСЕФ ЬФЙ ЖБКМЩ Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ ЛПНБОДЕ ХЛБЪЩЧБЕНПК ЕК Ч БТЗХНЕОФЕ. еЈ ХДПВОП РТЙНЕОСФШ Ч УЧСЪЛЕ У find(1). оБРТЙНЕТ, РХУФШ ОБН ОБДП ХЪОБФШ УЛПМШЛП УФТПЛ Ч ЛБЛПН ЙЪ ЦХТОБМШОЩИ ЖБКМПЧ ОБ ОБЫЕК УЙУФЕНЕ.

$ find /var/log \! -name *bz2 -type f | xargs wc -l
     875 /var/log/auth.log
     125 /var/log/cron
     270 /var/log/debug.log
     .....
        

ъОБЛ \ РЕТЕД ! НЩ РПУФБЧЙМЙ ДМС ФПЗП, ЮФПВЩ sh ОЕ ЙОФЕТРТЕФЙТПЧБМ ЕЗП РП-УЧПЕНХ. бОБМПЗЙЮОПЗП ТЕЪХМШФБФБ НЩ НПЗМЙ ВЩ ДПВЙФШУС ЙУРПМШЪХС ПРГЙА -exec.

$ find /var/log \! -name *bz2 -type f -exec wc -l {} \;
     875 /var/log/auth.log
     125 /var/log/cron
     270 /var/log/debug.log
     .....
        

дБЦЕ ОБ УПЧТЕНЕООПК, ВЩУФТПДЕКУФЧХАЭЕК НБЫЙОЕ ТБЪОЙГБ Ч ЧЩРПМОЕОЙЙ ЬФЙИ ДЧХИ ЛПНБОД ЧЙДОБ ОЕЧППТХЦЈООЩН ЧЪЗМСДПН. нЩ НПЦЕН ЕЈ ЙЪНЕТЙФШ:

$  time find /var/log \! -name *bz2 -type f | xargs wc -l > /dev/null

real    0m0.032s
user    0m0.000s
sys     0m0.024s

$ time find /var/log \! -name *bz2 -type f -exec wc -l {} \; > /dev/null

real    0m0.242s
user    0m0.040s
sys     0m0.191s
        

тБЪОЙГБ УПУФБЧЙМБ ГЕМЩК РПТСДПЛ. б ЧЕДШ ЪДЕУШ ЕЭЈ НБМП ЖБКМПЧ. ч ЮЈН ЦЕ ДЕМП? б ДЕМП Ч ФПН, ЮФП find(1) У ПРГЙЕК -exec ДМС ЛБЦДПЗП ОБКДЕООПЗП ЖБКМБ ЪБОПЧП ЧЩЪЩЧБЕФ ЛПНБОДХ wc(1). чЩЪПЧ ЛПНБОД Ч UNIX (Й ОЕ ФПМШЛП Ч ОЈН)љ— ПЮЕОШ ДПТПЗБС РТПГЕДХТБ. ч УМХЮБЕ У ЙУРПМШЪПЧБОЙЕН xargs(1), НЩ ЧЩЪЧБМЙ wc(1) ФПМШЛП ПДЙО ТБЪ. рПДУЮЈФ УФБФЙУФЙЛЙ УЧСЪБООЩК У ЮФЕОЙЕН Й БОБМЙЪПН УПДЕТЦЙОПЗП ЖБКМБ ВПМЕЕ РТПУФ, ЮЕН УБН ЧЩЪПЧ wc(1).

еЭЈ ПЮЕОШ РПМЕЪОПК ПУПВЕООПУФША xargs(1), СЧМСЕФУС ФП, ЮФП ПО НПЦЕФ ТБЪВЙТБФШ УРЙУПЛ ЖБКМПЧ У STDIN, УЮЙФБС УЙНЧПМПН ТБЪДЕМЙФЕМЕН ОЕ РТПВЕМ, Б ОХМЕЧПК УЙНЧПМ, ЛПФПТПЗП Ч РТЙОГЙРЕ ОЕ НПЦЕФ ВЩФШ Ч ЙНЕОЙ ЖБКМБ. ьФП НПЦЕФ ВЩФШ ПЮЕОШ ЧБЦОП, ОБРТЙНЕТ, РТЙ ТБВПФЕ У ТБЪДЕМБНЙ Windows ЙМЙ Macintosh.

$ find /mnt/samba ... -print0 | xargs -0 ...
        

фЕРЕТШ, ЛБЛЙЕ ВЩ РТЙЮХДМЙЧЩЕ ЙНЕОБ ОЙ ЧУФТЕФЙМЙУШ ОБН, ДБЦЕ ЕУМЙ ПОЙ УПДЕТЦБФ ЛБЧЩЮЛЙ, РТПВЕМЩ, УЙНЧПМЩ ЛПОГБ УФТПЛЙ, ПОЙ ВХДХФ ПВТБВПФБОЩ ЛПТТЕЛФОП.