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' {} \;
댓글
댓글 쓰기