 |
|
|  |
grep perl Á¶ÇÕÀ¸·Î ÆÄÀϳ» ¹®ÀÚ¿À» ÇѲ¨¹ø¿¡ º¯°æÇϱâ |
|
|
 |
13³â Àü |
¼öõ, ¼ö¸¸°³ÀÇ ÆÄÀÏÀÌ Àִµ¥ ¸ðµç ÆÄÀÏÀ» ¿¾î "korea"¸¦ "´ëÇѹα¹"À¸·Î º¯°æÇؾßÇÑ´Ù¸é ¾î¶»°Ô ÇؾßÇÒ±î?
¾Æ·¡¿¡ ¼³¸íÇÑ ¸í·É¾î ÇÑÁÙÀÌ¸é °£´ÜÇÏ°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù.
´Ü ƯÁ¤´Ü¾î¸¦ ´Ù¸¥´Ü¾î·Î º¯°æÀ» Çϴ°ÍÀ̶ó "korean"À» "´ëÇѹα¹n" À¸·Î º¯°æÇÒ ¼öµµ ÀÖÀ¸´Ï
ã´Â¹®ÀÚ¿ ÆÐÅÏÀ» ¸íÈ®ÇÏ°Ô ÁöÁ¤ÇؾßÇÒ °ÍÀÌ´Ù.
grep -R --files-with-matches 'ã´Â¹®ÀÚ¿' ./ --null | xargs -0 perl -pi -e 's/ã´Â ¹®ÀÚ¿/º¯°æ¹®ÀÚ¿/'
ƯÁ¤ µð·ºÅ丮 ÀÌÇÏ ¸ðµç ÆÄÀÏÀ» °Ë»öÇÏ¿© ã°íÀÚÇÏ´Â ¹®ÀÚ¿À» Æ÷ÇÔÇÑ ÆÄÀÏÀ» º¯°æ¹®ÀÚ¿·Î º¯°æÇÏ´Â ¸í·É¾î Á¶ÇÕ´Ï´Ù.
-R : ÇÏÀ§ µð·ºÅ丮±îÁö °Ë»ö
--files-with-matches : ¹®ÀÚ¿À» Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÇ À̸§¸¸ Ãâ·Â
./ : ã°íÀÚÇÏ´Â µð·ºÅ丮
--null : ÆÄÀÏ¸í ´ë½Å 0 byte ¹®ÀÚ¸¦ Ãâ·ÂÇÑ´Ù.
¿¹¸¦µé¸é, grep -IZ ´Â À¯¿ëÇÑ newline ¹®ÀÚ´ë½Å °¢ ÆÄÀϸíµÚ¿¡ 0byte¸¦ Ãâ·ÂÇÑ´Ù.
ÀÌ ¿É¼ÇÀº newline°ú °°Àº À¯¿ëÇÑ Ä³¸¯Å͸¦ Æ÷ÇÔÇÏ´Â ÆÄÀϸí±îÁöµµ Ãâ·ÂÀ» ¸íÄèÇÏ°Ô ÇØÁØ´Ù. \
ÀÌ ¿É¼ÇÀº ÀÓÀÇÀÇ ÆÄÀϸíÀ» ó¸®ÇÏ´Â find -print0, perl -0, sort -z, xargs -0°ú °°Àº ¸í·É¾î¿Í ÇÔ²² »ç¿ëµÉ ¼öÀÖ°í
newline ij¸¯Å͸¦ Æ÷ÇÔÇÏ´Â ±× ÀÚü·Îµµ »ç¿ëÇÒ ¼öÀÖ´Ù
xargs perlÁ¶ÇÕÀ» ¹Ù·Î ¿¬°áÇÏÁö ¸»°í ¿ì¼± ÆÄÀϸñ·ÏÀ» È®º¸Çѵڿ¡ ¹é¾÷À» ÇØ µÎ´Â°Íµµ ÀØÁö¸»ÀÚ.
mkdir /backup
grep -R --files-with-matches 'ã´Â¹®ÀÚ¿' ./ > findlist.txt
perl -pi -e 's/^/cp /' findlist.txt
perl -pi -e 's/$/ \/home\/backup/' findlist.txt
sh findlist.txt
grep -R --files-with-matches 'ã´Â¹®ÀÚ¿' ./ --null | xargs -0 perl -pi -e 's/ã´Â ¹®ÀÚ¿/º¯°æ¹®ÀÚ¿/'
|
|
̵̧ : 664 |
̵̧
¸ñ·Ï
|
|
|  |
|