동일 키워드가 있을 때 하나만 파싱하여 변경하려면

kkb의 이미지

텍스트 파일에 동일 키워드가 여러 개 있을 때
n 번째 키워드를 셸 스크립트로 파싱하여 변경하려면 어떻게 해야 할까요?

유일한 키워드라면 sed로 간단하게 구현이 되는데
동일 키워드가 여러 개 있어서 sed로 간단하게 구현하기가 쉽지 않네요

semmal의 이미지

파일을 분리한다음 각각에 대해서 따로 시도하면 안될까요?

다 완료가 되면 합치도록.

------------------------------
How many legs does a dog have?

ymir의 이미지

shell script 등으로 변경이 필요한 경우라면 쉽게 이용할 수 있도록..
정형화된 포맷으로 뽑아내는 것이 좋을 것 같군요.
이런 경우라면 쉽지 않을 듯 합니다.

음.. 하나의 라인에서 n 번째 나타나는 문자열을 바꾸기는 쉬우니..
경우에 따라선 아래처럼 꼼수를 써 볼 수도 있을 것 같네요.

$ cat infile.txt
hello world1
hello world2
hello world3
$ sed -e ':a;N;$!ba;s/\n/NL/g' -e 's/hello \([a-z0-9]*\)/HELLO changed \1/2' -e 's/NL/\n/g' infile.txt
hello world1
HELLO changed world2
hello world3

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』