xargs
xargsïŒãšãã¯ã¹ã¢ãŒã°ãºïŒã¯ãUNIX ç³»ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«çšæãããŠããã³ãã³ãã§ãæšæºå ¥åãèªã¿èŸŒã¿ããããåŒæ°ãšããŠæå®ããã³ãã³ããå®è¡ããã
æŠèŠ
[ç·šé]xargs ã¯ãæ¹è¡çã§åºåãããæšæºå
¥åãèªã¿èŸŒã¿ã空çœã§åºåãããïŒè¡ã®æååãžå å·¥ãããããåŒæ°ãšããŠæå®ããã³ãã³ããžæž¡ããŠå®è¡ãããã
% (echo Bravo.txt ; echo Charlie.txt) | xargs -- chmod a-x Alpha.txt
ãšããã³ãã³ãã¯æ¬¡ã®ãã®ãšç䟡ã§ããã
% chmod a-x Alpha.txt Bravo.txt Charlie.txt
äžèšã®äŸã¯ echo ã§çæããããã¡ã€ã«ãã¹ã xargs ã«äžãããã®ã ããfind ã³ãã³ãã§éå±€çã«æ€çŽ¢ããŠååŸãããã¡ã€ã«ãã¹ã xargs ã«äžããããšãã§ããã
% find path -type f -name '*.txt' | xargs -- chmod a-x
ãã ããfind ã³ãã³ããåºåãããã¡ã€ã«ãã¹ã®ãªã¹ãã¯ãšãŠãé·ããªãå Žåããããxargs ã³ãã³ããå
éšçã«çºçããã chmod ã³ãã³ãã®ïŒè¡ãé·ãããããšã«ãªããchmod ã³ãã³ãå®è¡å€±æããã
find ã³ãã³ããäŸãã°200åã®ãã¡ã€ã«ãã¹ãåºåããå Žåãxargs ãå
éšçã«çæãã chmod ã³ãã³ãã®ïŒè¡ã¯ãããªæãã«ãªãã
% chmod a-x filepath1 filepath2 ⊠filepath200
ãã®å Žåãxargs ãå
éšçã«çæãã chmod ã³ãã³ããå®è¡ããããšã¯åºæ¥ãªããããããªãã
ãã ããçºçãããã³ãã³ãããã®äŸã®ããã« chmod ã³ãã³ãã§ããã°ãå
éšçã«çºçãããã³ãã³ãã®é·ãã調æŽããæ©èœãçšããããšã§åé¿ã§ããã ããã
% find path -type f -name '*.txt' | xargs -n 3 -- chmod a-x
ãã®äŸã§ã¯ãxargs 㯠find ã³ãã³ããåºåãã200åã®ãã¡ã€ã«ãã¹ã3åããšã«ïŒ3åã«æºããªãå Žåã¯ãã®åæ°ã ãã§ïŒchmod ãåŒã³åºãã
% chmod a-x filepath1 filepath2 filepath3
% chmod a-x filepath4 filepath5 filepath6
:
% chmod a-x filepath199 filepath200
ããšã®ã³ãã³ããšã¯ç°ãªãã¯ããããfind ãåºåãããã¡ã€ã«ãå
šéšã®ããŒããã·ã§ã³ã倿Žãããšããç®çã¯æãããã
ãã ããã®ãããªæ¹æ³ã䜿ãããã©ããã¯å
éšçã«çºçãããã³ãã³ã次第ã§ãããchmod ã§ãªããäŸãã° tar ã³ãã³ãã®å Žåã¯äœ¿ããªãã
xargs ã³ãã³ãã¯ãã°ãã°ããããã®ã·ã§ã«ã®ããã¯ã¯ã©ãŒãæ©èœãšåãæ©èœãæã£ãŠãããããããããæè»ã§ãå
¥åã«ç©ºçœãç¹æ®æåãå«ãå Žåã«ã¯ãã°ãã°ããå®å
šã§ãããã
èæ³š
[ç·šé]é¢é£é ç®
[ç·šé]å€éšãªã³ã¯
[ç·šé]- Manpage of XARGS GNU çãJM Project
- xargs(1) man pageïŒSunOS ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ïŒ