OS
Linux - 리눅스에서 파일 내용 수정
Hong Manager
2016. 9. 1. 10:12
터미널에서나 스크립트에서 특정 파일의 내용을 수정하고 싶을 때 아래와 같이한다.
sed -e "/찾을문자열/ c\바꿀문자열" test.txt
하지만 sed는 표준출력으로 터미널상에 출력된다. 이를 파일에 다시 저장하기 위해서는 아래와 같이 한다.
sed -e "/찾을문자열/ c\바꿀문자열" test.txt > test.txt.tmp
mv test.txt.tmp test.txt
sed 사용중에 해당 파일이 이미 열려있는 상태이므로 다른 파일에 쓰고 이를 다시 원본파일로 이름을 바꿔야한다.
test.txt > test.txt 로 사용하면 파일 내용이 모두 사라진다.
ex>
cat test.txt
my_ip = 192.168.1.111
sed -e "/my_ip/ c\my_ip = 192.168.1.222" test.txt > test.txt.tmp
mv test.txt.tmp test.txt
cat test.txt
my_ip = 192.168.1.222