텍스트 파일에 동일 키워드가 여러 개 있을 때 n 번째 키워드를 셸 스크립트로 파싱하여 변경하려면 어떻게 해야 할까요?
유일한 키워드라면 sed로 간단하게 구현이 되는데 동일 키워드가 여러 개 있어서 sed로 간단하게 구현하기가 쉽지 않네요
파일을 분리한다음 각각에 대해서 따로 시도하면 안될까요?
다 완료가 되면 합치도록.
------------------------------ How many legs does a dog have?
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 』
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
파일을 분리한다음 각각에 대해서 따로 시도하면
파일을 분리한다음 각각에 대해서 따로 시도하면 안될까요?
다 완료가 되면 합치도록.
------------------------------
How many legs does a dog have?
음 ..
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 』
댓글 달기