가능합니까? 다음 명령으로 이 작업을 수행할 수 있다는 내용을 어딘가에서 읽었습니다.
sed -e [명령] [파일]
근데 똑같은 일을 하는 것 같아
sed [명령] [파일]
(변경 사항이 저장되지 않았습니다.) sed를 사용하여 이를 수행할 수 있는 방법이 있습니까?
답변1
나는 당신이 찾고 있다고 생각합니다 -i
:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
예를 들어:
$ cat foo.txt
hello world
$ sed -i 's/o/X/g' foo.txt
$ cat foo.txt
hellX wXrld
접미사를 제공하면 백업 파일이 생성됩니다.
$ ls
foo.txt
$ sed -i.bak 's/o/X/g' foo.txt
$ ls
foo.txt foo.txt.bak
입력 파일을 수정하고 원본 파일 데이터가 포함된 백업을 만듭니다.
또한 이는 GNU용이라는 점에 유의하세요 sed
.뉘앙스sed
서로 다른 구현 간의 형식.
답변2
다음 솔루션은 HPUX(UNIX)용입니다.
1
{ rm test1.sh && awk '{gsub("Error", "NO_Error", $0); print}' > test1.sh; } < test1.sh
.:
2.
perl -pi -e 's/Error/NO_Error/g' test1.sh
삼.
sed 's/Error/NO_Error/g' test1.sh | tee test1.sh
답변3
-e
sed
여러 명령을 실행하기 위한 옵션
sed -e 's/linux/unix/' -e 's/os/OS/' file.txt
file.txt
로 생각하다
linux os
그러면 O/P는
unix os
-i
변경 사항을 영구적으로 저장하는 옵션...