[Linux] ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด - awk
ยท
Linux
awkawk๋Š” ์•ž์—์„œ ์‚ฌ์ „์— ์‹คํ–‰๋œ ๋ช…๋ น์–ด์˜ ๊ฒฐ๊ณผ๋‚˜ ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ , ์„ ํƒ๋œ ๋ ˆ์ฝ”๋“œ์˜ ํŠน์ • ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Œ.awk ์‚ฌ์šฉ๋ฒ•# ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•1awk [์˜ต์…˜] 'ํŒจํ„ด { ์•ก์…˜ }' ๋Œ€์ƒ ํŒŒ์ผ# ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•2awk [์˜ต์…˜] -f awk_ํ”„๋กœ๊ทธ๋žจ_ํŒŒ์ผ ๋Œ€์ƒ ํŒŒ์ผ# ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•3awk [์˜ต์…˜] 'ํŒจํ„ด {์•ก์…˜}'awk ์˜ต์…˜awk ์˜ต์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ ์˜ต์…˜๊ณผ awk ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ํ™•์žฅ ์˜ต์…˜์œผ๋กœ ์ด๋ฃจ์–ด์ง.ํ‘œ์ค€ ์˜ต์…˜ํ‘œ์ค€ ์˜ต์…˜์€ AWK ํ”„๋กœ๊ทธ๋žจ์ด ๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ awk๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜๊ณผ ๋Œ€์ƒ ํŒŒ์ผ์˜ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋Š” ์˜ต์…˜, ์™ธ๋ถ€์—์„œ ์„ ์–ธ๋œ ๊ฐ’์ด๋‚˜ ๋ณ„๋„์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ๋•Œ ์“ฐ์ด๋Š” ์˜ต์…˜์œผ๋กœ 3๊ฐ€์ง€ ์˜ต์…˜ ์ œ๊ณต.์˜ต์…˜์„ค๋ช…-f ํŒŒ์ผ/--file ํŒŒ์ผawk ํ”„๋กœ๊ทธ๋žจ(ํŒจ..
[Linux] ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด - find
ยท
Linux
ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” findfind ์‚ฌ์šฉ๋ฒ•# ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•1find [๋Œ€์ƒ ๊ฒฝ๋กœ] [ํ‘œํ˜„์‹]# ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•2find [์˜ต์…˜] [๋Œ€์ƒ ๊ฒฝ๋กœ] [ํ‘œํ˜„์‹]์˜ต์…˜ ์ข…๋ฅ˜์‹ฌ๋ณผ๋ฆญ ํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ๊ฒ€์ƒ‰ํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์˜ต์…˜๋””๋ฒ„๊ทธ ๊ด€๋ จ ์˜ต์…˜๋ ˆ๋ฒจ ๊ด€๋ จ ์˜ต์…˜find์˜ ๋‹ค์–‘ํ•œ ํ‘œํ˜„์‹find๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์กฐ๊ฑด์œผ๋กœ ํŒŒ์ผ์„ ์ฐพ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์˜ต์…˜์ด ์•„๋‹Œ ํ‘œํ˜„์‹์œผ๋กœ ์ œ๊ณต.ํ…Œ์ŠคํŠธ โžก๏ธ ์ฐพ๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ ์†์„ฑ ์ •์˜์—ฐ์‚ฐ์ž โžก๏ธ ํ…Œ์ŠคํŠธ์˜ ๊ฒ€์ƒ‰ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •์˜์•ก์…˜ โžก๏ธ ๊ฒ€์ƒ‰ํ•œ ํŒŒ์ผ์„ ์ธ์ˆ˜๋กœ ํ•˜์—ฌ ๋˜ ๋‹ค๋ฅธ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์œ„์น˜์˜ต์…˜ โžก๏ธ ํ…Œ์ŠคํŠธ์™€ ํ•จ๊ป˜ ์“ฐ์ด๋ฉด์„œ ํ…Œ์ŠคํŠธ์˜ ๊ฒ€์ƒ‰์กฐ๊ฑด์„ ๋ณ€๊ฒฝํ…Œ์ŠคํŠธfind์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ‘œํ˜„์‹.์‹œ๊ฐ„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ์ตœ์‹  ํŒŒ์ผ ๊ฒ€์ƒ‰ ๊ด€๋ จ ํ…Œ์ŠคํŠธํŒŒ์ผ ๊ถŒํ•œ ๊ด€๋ จ ํ…Œ์ŠคํŠธ๊ทธ๋ฃน ๋ฐ ์‚ฌ์šฉ์ž ๊ด€๋ จ ํ…Œ์ŠคํŠธํŒŒ์ผ๋ช… ๊ด€๋ จ ํ…Œ์ŠคํŠธํŒŒ์ผ ..
[Linux] ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด - grep
ยท
Linux
๋ฌธ์ž์—ด์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” grepgrep ์‚ฌ์šฉ๋ฒ•grep [์˜ต์…˜] ํŒจํ„ด [ํŒŒ์ผ]grep [์˜ต์…˜] [-e ํŒจํ„ด | -f ํŒŒ์ผ] [ํŒŒ์ผ]grep [์˜ต์…˜] [ํŒจํ„ด | -e ํŒจํ„ด]grep ๋‹ค์–‘ํ•œ ์˜ต์…˜์ •๋ณด ๊ด€๋ จ ์˜ต์…˜ํŒจํ„ด๋ฌธ๋ฒ• ๊ด€๋ จ ์˜ต์…˜๋งค์นญ ์ œ์–ด ๊ด€๋ จ ์˜ต์…˜์ถœ๋ ฅ ์ œ์–ด ๊ด€๋ จ ์˜ต์…˜์ถœ๋ ฅ๋ผ์ธ ์ œ์–ด ๊ด€๋ จ ์˜ต์…˜์ปจํ…์ŠคํŠธ ๋ผ์ธ ์ œ์–ด ๊ด€๋ จ ์˜ต์…˜ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ด€๋ จ ์˜ต์…˜๊ธฐํƒ€ ์˜ต์…˜์ •๋ณด ๊ด€๋ จ ์˜ต์…˜์˜ต์…˜์„ค๋ช…--helpgrep ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ๋„์›€๋ง์„ ๋ณด์—ฌ์คŒ.-V, --versiongrep ๋ช…๋ น์–ด์˜ ๋ฒ„์ „ ์ •๋ณด ๋ฐ ๋ผ์ด์„ผ์Šค ์ •๋ณด๋ฅผ ๋ณด์—ฌ์คŒ.ํŒจํ„ด ๋ฌธ๋ฒ• ๊ด€๋ จ ์˜ต์…˜์˜ต์…˜์„ค๋ช…-E, --extended-regexpํ™•์žฅ ์ •๊ทœ ํ‘œํ˜„์‹์— ํ•ด๋‹นํ•˜๋Š” ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ๋จ.-F, --fixed-strings์—ฌ๋Ÿฌ ์ค„๋กœ ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ๋จ.-G..
[Linux] Shell Script ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์ •๊ทœ ํ‘œํ˜„์‹
ยท
Linux
๋”๋ณด๊ธฐ๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ์ •๊ทœ ํ‘œํ˜„์‹POSIX ๊ธฐ๋ณธ ๋ฐ ํ™•์žฅ ๋ฌธ๋ฒ•์ •๊ทœ ํ‘œํ˜„์‹ โžก๏ธ ์ผ์น˜ํ•˜๋Š” ํ…์ŠคํŠธ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ํŒจํ„ด์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŠน์ • ํ‘œ์ค€ ํ…์ŠคํŠธ์˜ ๋ฌธ๋ฒ•์„ ์˜๋ฏธ.ํŒจํ„ด์„ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฌธ์ž์—ด ๋‚ด์˜ ๊ฐ ๋ฌธ์ž๋“ค์€ ๋ฉ”ํƒ€ ๋ฌธ์ž๋‚˜ ์ •๊ทœ ๋ฌธ์ž๋กœ ์ดํ•ด๋จ.๋ฉ”ํƒ€ ๋ฌธ์ž์„ค๋ช….๋‰ด๋ผ์ธ์„ ์ œ์™ธํ•œ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์™€ ์ผ์น˜.?์ž์‹  ์•ž์— ๋‚˜์˜ค๋Š” ์ •๊ทœ ํ‘œํ˜„์‹์ด ์—†๊ฑฐ๋‚˜ ํ•˜๋‚˜๊ฐ€ ์ผ์น˜ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์™€ ๋งค์นญํ•  ๋•Œ ์‚ฌ์šฉ.*๋ฐ”๋กœ ์•ž ๋ฌธ์ž์—ด์ด๋‚˜ ์ •๊ทœ ํ‘œํ˜„์‹์—์„œ ํ•œ ๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž๋ฅผ ์˜๋ฏธ.+์ž์‹  ์•ž์— ๋‚˜์˜ค๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ •๊ทœ ํ‘œํ˜„์‹๊ณผ ์ผ์น˜. *๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•˜์ง€๋งŒ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜ ์ด์ƒ์ผ ๊ฒฝ์šฐ์—๋งŒ ์ผ์น˜.{N}์ •ํ™•ํžˆ N๋ฒˆ ์ผ์น˜.{N,}N๋ฒˆ ๋˜๋Š” ๊ทธ ์ด์ƒ ์ผ์น˜.{N, M}์ ์–ด๋„ N๋ฒˆ ์ผ์น˜ํ•˜์ง€๋งŒ, M๋ฒˆ ์ผ์น˜๋ฅผ ๋„˜์ง€ ์•Š..
[Linux] Shell Script ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์—ฐ์‚ฐ์ž
ยท
Linux
๋”๋ณด๊ธฐ๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ์—ฐ์‚ฐ์žํฌ๊ฒŒ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ์ž, ๋น„๊ต ๋ฐ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž, ๋””๋ ‰ํ„ฐ๋ฆฌ ์—ฐ์‚ฐ์ž, ํŒŒ์ผ ์—ฐ์‚ฐ์ž ๋ฐ ํŒŒ์ผ ๋น„๊ต ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅ.๋ฌธ์ž์—ด ์—ฐ์‚ฐ์ž๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž.ํ•ด๋‹น ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜์— ์ˆซ์ž ๋˜๋“ , ํŒŒ์ผ๋ช…์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๊ฐ™์€ ๊ฐ์ฒดํ˜•์˜ ๊ฐ’์ด ์ €์žฅ๋˜๋“  ์ƒ๊ด€์—†์ด ๋ชจ๋‘ ๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰.์—ฐ์‚ฐ์ž์‚ฌ์šฉ๋ฒ•์„ค๋ช…-zif [-z $๋ณ€์ˆ˜]๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 0์ด๋ฉด ์ฐธ-nif [-n $๋ณ€์ˆ˜]๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 0์ด ์•„๋‹ˆ๋ฉด ์ฐธ๋ฌธ์ž์—ด ๋ณ€์ˆ˜๊ฐ€ NULL ๊ฐ’์ธ์ง€ ์ฒดํฌํ•  ๊ฒฝ์šฐ~$ cat if_example1.sh#!/bin/bashif [ -z $1 ]then echo Trueelse echo Falsefi~$ sh if_example1.shTrue..
[Linux] Shell Script ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ
ยท
Linux
์กฐ๊ฑด๋ฌธ if, switch-caseif๋ฌธ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•if [์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์‹]then ์ˆ˜ํ–‰๋ฌธelif [๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด์‹]then ์ˆ˜ํ–‰๋ฌธelse ์ˆ˜ํ–‰๋ฌธfiif, then, else, fi๋Š” ๋ฐ˜๋“œ์‹œ ๊ธฐ์ž…์„ ํ•ด์•ผ ํ•จ. ์กฐ๊ฑด์‹ ์•ž๋’ค๋กœ๋Š” ๋ฐ˜๋“œ์‹œ ๋Œ€๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ๋Œ€๊ด„ํ˜ธ์™€ ์กฐ๊ฑด์‹ ์‚ฌ์ด์—๋Š” ๋ฐ˜๋“œ์‹œ ํ•œ ์นธ์˜ ์ŠคํŽ˜์ด์Šค๋ฅผ ๋‘์–ด์•ผ ํ•จ.์กฐ๊ฑด์‹ ํƒ€์ž…์กฐ๊ฑด์‹ ํƒ€์ž…์„ค๋ช…if [$๋ณ€์ˆ˜ ์—ฐ์‚ฐ์ž $๋ณ€์ˆ˜ ]; then์ผ๋ฐ˜์ ์ธ ์กฐ๊ฑด์‹ ํƒ€์ž…์œผ๋กœ ๋‘ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ ์“ฐ์ž„.if [$๋ณ€์ˆ˜ ์—ฐ์‚ฐ์ž ์กฐ๊ฑด๊ฐ’ ]; then์กฐ๊ฑด๊ฐ’์ด ๊ณ ์ •๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ๋ณ€์ˆ˜์™€ ์กฐ๊ฑด๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉ.if [์—ฐ์‚ฐ์ž $๋ณ€์ˆ˜]; then๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด์ด๊ฑฐ๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์ผ ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ.if [์กฐ๊ฑด์‹] ์—ฐ์‚ฐ์ž [์กฐ๊ฑด์‹]; then์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด..