์ž์œ ๊ฒŒ์‹œํŒ

  • find ์™€ grep์„ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ์ฐพ๊ธฐ

    ํŽ˜์ด์ง€ ์ •๋ณด

    profile_image
    ์ž‘์„ฑ์ž์ฒœ์‚ฌ ์กฐํšŒ 9,341ํšŒ ์ž‘์„ฑ์ผ 2021-10-10 23:00:22 ๋Œ“๊ธ€ 0

    ๋ณธ๋ฌธ

    ์ถœ์ฒ˜:ย https://sncap.tistory.com/575

    ย 

    ํ•˜์œ„ ํด๋” ๋‚ด server.xml ํŒŒ์ผ์—์„œ "Connector port" ๋ผ๋Š” ๋ฌธ์ž ์—ด ์ฐพ๊ธฐ
    ย 

    findย -name server.xml | xargs grep --color "Connector port"ย 

    ย 

    grep

    ํ•˜์œ„ ํด๋”๋ฅผ ํฌํ•จํ•˜์—ฌ ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์—์„œ ์›ํ•˜๋Š” ๋‹จ์–ด๋ฅผ ์ฐพ์•„์ฃผ๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.ย 

    ย 

    grep -rni [๊ฒ€์ƒ‰์–ด] [๊ฒฝ๋กœ๋ช… ๋˜๋Š” ํŒŒ์ผ๋ช…]

    ย 

    r : ย ํ•˜์œ„๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ๊ฒ€์ƒ‰

    n: ย ํŒŒ์ผ์˜ ๋ช‡๋ฒˆ์งธ ๋ผ์ธ์— ์žˆ๋Š”์ง€ ํ‘œ์‹œ

    i : ย ๊ฒ€์ƒ‰์–ด๋ฅผ ๋Œ€์†Œ ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด ๊ฒ€์ƒ‰

    ย 

    ๊ฒ€์ƒ‰์–ด ๋‚ด์— ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ๋Š” ""๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.ย 

    ย 

    ์˜ˆ) ย ย 

    ย  ย  ย  ย  grep -rn test ./kernel/-

    ย  ย  ย  ย  grep -rni "test board" ./kernel/-

    ย  ย  ย  ย  grep -rn test *

    ย 

    git์ด๋‚˜ svn์„ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ .git .svn ํด๋”๋กœ ์ธํ•ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ฒ€์ƒ‰ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

    ์•„๋ž˜์™€ ๊ฐ™์ด ํŠน์ • Directory๋ฅผ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ย 

    ย  ย  ย  ย  ย --exclude-dir=๋””๋ ‰ํ† ๋ฆฌ

    ์˜ˆ)

    ย  ย  ย  ย grep -rn --exclude-dir=\.git test ./kernel/-

    ย  ย  ย  ย .bashrc ํŒŒ์ผ์— ์•„๋ž˜ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์‹œ๋ฉด ๋” ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ย  ย  ย  ย  alias grp='grep -rn --exclude-dir=\.git'

    ย  ย  ย  ย  grp test ./kernel/- ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ย 

    tip

    ย  ย  ย  ย  ๊ตฌ์กฐ์ฒด์˜ ์ •์˜(definition)๋ถ€๋ถ„ ๊ฒ€์ƒ‰ ์‹œ

    ย  ย  ย  ย  ์ผ๋ฐ˜์ ์œผ๋กœ ์ •์˜ ๋ถ€๋ถ„์€ ์ด๋ฆ„๋’ค์— { ๊ฐ€ ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.

    ย  ย  ย  ย  struct input_dev {

    ย  ย  ย  ย  ...

    ย  ย  ย  ย  grep -rn "input_dev\s*{" *

    ย  ย  ย  ย  grep -rn "input_dev\s\+{" *

    ย  ย  ย  ย  ๋กœ ๊ฒ€์ƒ‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    ย 

    ย  ย  ย  ย  \s ๋Š” space๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

    ย  ย  ย  ย  * ๋Š” ๊ฐœ์ˆ˜๊ฐ€ 0 ๊ฐœ ์ด์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ย ๋”ฐ๋ผ์„œ ๊ณต๋ฐฑ์ด 0๊ฐœ ์ด์ƒ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ย  ย  ย  ย  \+ 1๊ฐœ ์ด์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณต๋ฐฑ์ด ์ ์–ด๋„ 1๊ฐœ๋Š” ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ย 

    find

    ํ•˜์œ„ ํด๋”์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์„ ์ฐพ์•„์ฃผ๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.ย 

    ย 

    find [๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ] -iname [ํŒŒ์ผ๋ช…]

    ย 

    -name ย  ย : ย ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์—ฌ ํŒŒ์ผ๋ช… ๊ฒ€์ƒ‰

    -iname ย  : ย ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ผ๋ช… ๊ฒ€์ƒ‰

    ย 

    ์˜ˆ)ย 

    ย  ย  ย  ย  find ./kernel -iname mcs*

    ย  ย  ย  ย  find . -name mcs*

    ย 

    Tip

    ย  ย  ํŠน์ • ํ™•์žฅ์ž์—์„œ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰

    ย  ย ย find . -iname "*.h" | xargs grep -n "input_dev"

    ย  ย  find๋กœ ํŒŒ์ผ๊ฒ€์ƒ‰ํ›„ ย ํŒŒ์ผ๋‚ด์— ํŠน์ • ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰

    ๋Œ“๊ธ€๋ชฉ๋ก

    ๋“ฑ๋ก๋œ ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.