awk에서 따옴표 문자를 인쇄하는 방법

awk에서 따옴표 문자를 인쇄하는 방법

str.txt다음 샘플 레코드가 포함된 파일이 있습니다.

31,2713810299,1,11-Aug-15 19:52:10
32,2713810833,1,11-Aug-15 21:36:18

이제 아래와 같이 awk를 사용하여 출력을 인쇄하고 싶습니다.

cat str.txt|awk -F, '{print substr("$4",1,9)}' -

출력은 다음과 같아야 합니다.

'11-Aug-15' 
'11-Aug-15' 

답변1

작은따옴표는\x27

awk -F, '{print "\x27"substr($4,1,9)"\x27" }'

답변2

POSIX적으로:

awk -F'[ ,]' -v q="'" '{print q$4q}' <file

답변3

POSIX Awk의 경우 접근 방식이 약간 다릅니다.

awk -F'[, ]' '{printf "\047%s\047\n", $4}' file
'11-Aug-15'
'11-Aug-15'

답변4

awk다음과 같은 명령을 사용할 수 있습니다 .

cat str.txt|awk -F, '{print substr($4,1,9)}' -

다음 출력을 얻습니다.

11-Aug-15
11-Aug-15

줄의 시작과 끝 부분에 작은따옴표가 필요한 경우 다음을 수행합니다.

cat str.txt|awk -F, '{printf "\047%s\047\n",substr($4,1,9)}' -

다음 출력을 얻습니다.

'11-Aug-15'
'11-Aug-15'

관련 정보