sed 치환

LINUX

$> sed -i 's/{target}/{substitution}/g' {file_name}

-i : inplace update. 즉 해당 파일내 치환
s/ : substitute
/g: global. {target}과 매칭되는 모든 문자를 {substitution}으로 치환

ex) sed -i 's/abcde/ABCDE/g' test.txt

MAC

mac은 -i 뒤에 백업 파일 extention을 넣어줘야 한다.
그래서 아래처럼 하면 backup 파일 생성하지 않고 바로 inplace update.

$> sed -i '' 's/{target}/{substitution}/g' {file_name}

응용

현재 디렉토리에서 file extension이 sh인 모든 파일 내용 변경

$> find ./ -type f -name "*.sh" -exec sed -i 's/abcde/ABCDE/g' {} \;
mac은 -i 뒤에 '' 추가
$> find ./ -type f -name "*.sh" -exec sed -i '' 's/abcde/ABCDE/g' {} \;

댓글

이 블로그의 인기 게시물

[Protocol] WIEGAND 통신

Orange for Oracle에서 한글 깨짐 해결책

[UI] GNB·LNB·SNB·FNB 용어 설명