๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[Linux] ๋ฆฌ๋ˆ…์Šค ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ์—ฌ๋Ÿฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ ๊ฐฏ์ˆ˜ ํ•œ ๋ˆˆ์— ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ณธ๋ฌธ

๐ŸงLinux

[Linux] ๋ฆฌ๋ˆ…์Šค ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ์—ฌ๋Ÿฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ ๊ฐฏ์ˆ˜ ํ•œ ๋ˆˆ์— ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฃจ๋ฆฌ์•ผใ…‘ 2024. 7. 4. 15:56
๋ฐ˜์‘ํ˜•

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋””๋ ‰ํ† ๋ฆฌ๋“ค ์•ˆ์— ํŒŒ์ผ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.
์ด ๋•Œ๋Š” ๋ช…๋ น์–ด ํ•œ์ค„๋กœ ์‰ฝ๊ฒŒ ๊ฐฏ์ˆ˜๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. ๋ช…๋ น์–ด

find . -type f | rev | cut -d'/' -f2- | rev | sort | uniq -c

find . -type f : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ('.')์™€ ๊ทธ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ๋ชจ๋“  ํŒŒ์ผ('-type f')์„ ์ฐพ๋Š”๋‹ค.

rev : ๊ฐ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘๋Š”๋‹ค.

cut -d'/' -f2- : ์Šฌ๋ž˜์‹œ(/)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ  ๋‘๋ฒˆ ์งธ ํ•„๋“œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ž๋ฅธ๋‹ค.(ํŒŒ์ผ๋ช… ์ œ๊ฑฐ, ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋งŒ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด์„œ)

rev : ๋‹ค์‹œ ๊ฒฝ๋กœ๋ฅผ ์›๋ž˜๋Œ€๋กœ ๋’ค์ง‘๋Š”๋‹ค.

sort : ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ •๋ ฌํ•œ๋‹ค.

uniq -c : ์ค‘๋ณต๋œ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์นด์šดํŠธ ํ•œ๋‹ค.

 

2. ๊ฒฐ๊ณผ

์•„๋ž˜ ์ฒ˜๋Ÿผ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

.
โ”œโ”€โ”€ dir1
โ”‚   โ”œโ”€โ”€ file1
โ”‚   โ””โ”€โ”€ file2
โ”œโ”€โ”€ dir2
โ”‚   โ””โ”€โ”€ file3
โ””โ”€โ”€ dir3
    โ””โ”€โ”€ subdir
        โ””โ”€โ”€ file4

์œ„์— ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด
์•„๋ž˜์™€ ๊ฐ™์ด ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ํŒŒ์ผ ๊ฐฏ์ˆ˜๋ฅผ ํ•œ ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 2 ./dir1
 1 ./dir2
 1 ./dir3/subdir
๋ฐ˜์‘ํ˜•