๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ปTech/๐ŸงLinux

[๋ฆฌ๋ˆ…์Šค] sed ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๋‚ด์šฉ ์ผ๊ด„ ๋ณ€๊ฒฝ/์‚ญ์ œ

by _viper_ 2019. 5. 23.
๋ฐ˜์‘ํ˜•

๋ฆฌ๋ˆ…์Šค์—์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค์˜ ๋™์ผํ•œ ๋‚ด์šฉ์„ ์ „์ฒด ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์—์„œ ์›ํ•˜๋Š” ๋‚ด์šฉ๋งŒ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์„ ๋•Œ

์ผ์ผ์ด vi๋กœ ์—ด์–ด์„œ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  sed ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

โ—พ 1๊ฐœ ํŒŒ์ผ ๋‚ด์šฉ ๋ณ€๊ฒฝ

sed -i 's/๊ธฐ์กด ๋‚ด์šฉ/๋ณ€๊ฒฝํ•  ๋‚ด์šฉ/g' ํŒŒ์ผ๋ช….txt

 

โ—พ ์—ฌ๋Ÿฌ ํŒŒ์ผ ๋‚ด์šฉ ๋ณ€๊ฒฝ

sed -i 's/๊ธฐ์กด ๋‚ด์šฉ/๋ณ€๊ฒฝํ•  ๋‚ด์šฉ/g' *.txt

 

โ—พ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ์ค„ ์‚ญ์ œ

sed -i '/์‚ญ์ œ ํ•  ๋‚ด์šฉ/d' ํŒŒ์ผ๋ช….txt

 

โ—พ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ์ค„๋งŒ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ๋‚˜๋จธ์ง€ ๋‚ด์šฉ ๋ชจ๋‘ ์‚ญ์ œ

  • ๋กœ๊ทธ์—์„œ ์›ํ•˜๋Š” ๋‚ด์šฉ๋งŒ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉ
sed -i '/์‚ญ์ œํ•˜์ง€ ์•Š์„ ๋‚ด์šฉ/!d' ํŒŒ์ผ๋ช….txt

 

โ—พ ์ฒซ ๋ฒˆ์งธ ๋ผ์ธ๋ถ€ํ„ฐ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ์ค„๊นŒ์ง€ ์‚ญ์ œ

sed -i '1,/์‚ญ์ œ ํ•  ๋‚ด์šฉ/d' ํŒŒ์ผ๋ช….txt

 

โ—พ ํŒŒ์ผ๋ช… ์ฐพ์•„์„œ ํŒŒ์ผ ๋‚ด์šฉ ์ˆ˜์ • (find + sed)

find ./ -name 'test.sh' -exec sed -i 's/.sh/.sh >> \/var\/log\/jobs\/`date +%Y%m%d`_test.log/g' {} \;

 

โ—พ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ์ค„ ์‚ญ์ œํ•˜๋ฉด์„œ ๊ณต๋ฐฑ ์—†์• ๊ธฐ

// '#'๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ๋ผ์ธ ์‚ญ์ œํ•˜๋ฉด์„œ ๊ณต๋ฐฑ ์ œ๊ฑฐ๋œ ๋‚ด์šฉ๋งŒ ์ถœ๋ ฅ
sed '/#/d' jupyterhub_config.py | sed '/^$/d'