awk에서 ......<--이런 특수문자 serching방법.

jeiley의 이미지

script파일과 awk를 연동해서 쓰고 있습니다.

awk script source > output

이렇게 해서 변환중인데

문제는 source에 다음이 있습니다.

$37 필드에 .......TC 라는 문자열이 있습니다.

다른 모든 문자열은 script 파일에서 다음과 같이 쓰면 작동됩니다.

if($1 == "UDP") 이러면 if문이 통과 됩니다.

하지만

if($37 == ".......TC")를 쓰면 통과가 안됩니다. 분명히 source파일에 .......TC 문자열이 있는데 안됩니다.

그래서 . <-이것을 다음과 같이 처리해보았습니다.

if($37 == "\.\.\.\.\.\.\.TC")
if($37 == \.\.\.\.\.\.\.TC)

그러나 이렇게 해도 if문이 통과가 안됩니다.

이런 특수문자 처리하는 방법이 있을까요?

doodoo의 이미지

doodoo@doodoo:~$ cat lp.txt
AAA BBB CCC .......TC DDD
doodoo@doodoo:~$ cat lp.awk
{
	if ($1 == "AAA" ) { print "1==",$1}
	if ($4 == ".......TC" ) { print "4=",$4}
}
doodoo@doodoo:~$ awk -f lp.awk < lp.txt
1== AAA
4= .......TC
doodoo@doodoo:~$ 

되는것 같은데....이상하군요....

jeiley의 이미지

.....TC 다음에 엔터가 생략되었습니다. 그래서 엔터를 처리하면 해결이 됩니다.