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'