TL;DR
- 우선
-i
옵션은 결과물을 stdout 으로 내보내는게 아니고 바로 해당 파일에 적용하는 옵션이고, 만약에 적용 전의 파일을 백업하고자 할 때 생성할 백업 파일의 확장자를 이 옵션의 인자로 줄 수 있다. - 이때, Linux 의
sed
에서는-i
옵션에 대해 아무런 인자를 주지 않아도 된다. 그럼 자동으로 백업 파일을 생성하지 않는다. - 하지만 MacOS 의
sed
에서는 인자를 무조건 줘야 한다. 따라서 이때는 빈 문자열을 주어서 백업 파일을 생성하지 않게 할 수 있다.- 만약에 인자를 주지 않으면
Invalid command code ...
라는 에러가 난다.
- 만약에 인자를 주지 않으면
sed -i '' 's/old/new/g' $FILE