sed s 는 같은줄에서 치환하는걸로 알고있는데요.. 그럼 만약 텍스트가
cat dog cat dog
이렇게있을때는... 어떻게해야되는건가요? ㅜㅜ 제가 다른줄에 있는것 까지 변경해야하는건지 몰랐는데.. 그래야되더군요ㅠㅠ 이건따로 코드를 짜서 만들어야하는건지..ㅜㅜ
awk '{ while (match($0, /StringA|StringB/)) { printf "%s", substr($0, 1, RSTART-1); $0 = substr($0, RSTART); printf "%s", /^StringA/ ? "StringB" : "StringA"; $0 = substr($0, 1+RLENGTH) } print }' file.txt
여기서 awk의 결과를.. 같은 파일인 file.txt 여기에 저장하고싶을땐 혹시 어떻게해야되나요? 다른파일로는 >file2.txt로 하면되는데. 같은 파일에 하고싶습니다.
텍스트 포맷에 대한 자세한 정보
<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]
이런식으로 해결했습니다.
awk '{
while (match($0, /StringA|StringB/)) {
printf "%s", substr($0, 1, RSTART-1);
$0 = substr($0, RSTART);
printf "%s", /^StringA/ ? "StringB" : "StringA";
$0 = substr($0, 1+RLENGTH)
}
print
}' file.txt
여기서 awk의 결과를.. 같은 파일인 file.txt 여기에 저장하고싶을땐 혹시 어떻게해야되나요?
다른파일로는 >file2.txt로 하면되는데. 같은 파일에 하고싶습니다.
댓글 달기