Next: , Previous: Unsafe File Name Handling, Up: Multiple Files   [Contents][Index]


3.3.2.2 °ÂÁ´¤Ê¥Õ¥¡¥¤¥ë̾¤Î°·¤¤

find¤¬½ÐÎϤ·¤¿¥Õ¥¡¥¤¥ë̾¤ò¡¤Â¾¤Î¥×¥í¥°¥é¥à¤Ç¤á¤Á¤ã¤¯¤Á¤ã¤Ë¤µ¤ì¤¿ ¤ê¸í²ò¤µ¤ì¤¿¤ê¤·¤Ê¤¤¤Ç¡¤Â¾¤Î¥×¥í¥°¥é¥à¤Ç»ÈÍѲÄǽ¤Ë¤¹¤ëÊýË¡¤Ï°Ê²¼¤Î¤è¤¦ ¤Ë¤Ê¤ê¤Þ¤¹¡¥¤³¤ÎÊýË¡¤ÇÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¡¤‘-0’¤ä‘--null’ ¥ª¥×¥·¥ç¥ó¤ò¡¤GNU xargs¡¤GNU tar¡¤GNU cpio¡¤¤Þ¤¿¤Ï¡¤ perl ¤ËÅϤ¹¤³¤È¤Ç¡¤½èÍý¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

Action: -print0

¿¿¤Ç¤¹¡¥É¸½à½ÐÎϤδ°Á´¤Ê¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú¤ò³¤±¤Æ½ÐÎϤ·¤Þ¤¹¡¥

Action: -fprint0 file

¿¿¤Ç¤¹¡¥‘-print0’¤Ë¤Ë¤Æ¤¤¤Þ¤¹¤¬¡¤file¤ò‘-fprint’¤Î¤è¤¦¤Ë ½ñ¤­½Ð¤·¤Þ¤¹(see Print File Name)¡¥

findutils¤Î¥Ð¡¼¥¸¥ç¥ó4.2.4¤«¤é¤Ï¡¤locate¥×¥í¥°¥é¥à¤Ë¤âƱÍͤʤ³¤È ¤ò¹Ô¤¦‘--null’¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡¥xargs¤ÈƱÍÍ¡¤Ã»¤¤·Á¼°¤Î ¥ª¥×¥·¥ç¥ó‘-0’¤â»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

¥Õ¥¡¥¤¥ë̾¤ò°ÂÁ´¤Ë½èÍý¤·¤¿¤¤¤¬¡¤¥³¥Þ¥ó¥É¤òÆþÎϤνª¤ï¤ê¤Ë·Ò¤²¤Æ¼Â¹Ô¤¹¤ë ɬÍפ¬¤¢¤ë¾ì¹ç¡¤°Ê²¼¤Î¤è¤¦¤Ëxargs¤Î‘--arg-file’¥ª¥×¥·¥ç¥ó¤ò »ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

find / -name xyzzy -print0 > list
xargs --null --arg-file=list munge

¾åµ­¤ÎÎã¤Ç¤Ï¡¤¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤¿xyzzy¤È̿̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡ ¥¤¥ë¤Ç¡¤munge¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¬¡¤munge¤ÎÆþÎϤÏüËö¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹(¤Þ¤¿¡¤¼ÂºÝ¤Ë¤Ï¥·¥§¥ë¤¬É¸½àÆþÎϤò»ÈÍѤ·¤Æ¤¤¤Þ¤¹)¡¥¥·¥§¥ë¤Ë “½èÍý¤ÎÂåÆþ”µ¡Ç½‘<(...)’¤¬¤¢¤ë¾ì¹ç¡¤¥ï¥ó¥¹¥Æ¥Ã¥×¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬ ²Äǽ¤Ç¤¹¡¥

xargs --null --arg-file=<(find / -name xyzzy -print0) munge