아래와 같은 텍스트 파일이 있다고 가정해 보겠습니다.
Hello world
types=""
Mario
types="Game"
내가 원하는 것은 type=""
"program"이라는 단어가 처음 나타나는 것을 찾아서 추가하는 것입니다. 다음과 같은 출력이 필요합니다.
Hello world
types="program"
Mario
types="Game"
Unix 쉘 스크립팅에서 이것을 사용해야 합니다. 내가 시도한 것은 다음과 같습니다.
sed -i '1,/types=""/s/types=""/types="program"/' filename
명령을 보면 추가가 아닌 삽입만 수행됩니다. 추가를 시도했지만 a\
여전히 작동하지 않습니다.
답변1
한 sed
줄로 대체하면 이미 의도한 대로 작동하는 것 같습니다.
$ cat t.txt
Hello world
types=""
Mario
types="Game"
$ sed '1,/types=""/s/types=""/types="program"/' t.txt
Hello world
types="program"
Mario
types="Game"
무엇을 보여주기 위해 질문을 편집하는 것이 가치가 있을 수 있습니다.너명령을 실행할 때 가져옵니다 sed
( -i
결과가 터미널에 인쇄되는 옵션 없이).
그런데, 귀하의 범위가 1,/types=""/
중복되었습니다. 다음과 같이 단순화할 수 있습니다.
sed '/types=""/s/types=""/types="program"/' t.txt