次のサンプルレコードを含むファイル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"
回答
一重引用符は\x27
awk -F, "{print "\x27"substr($4,1,9)"\x27" }"
コメント
- 8進数を使用
\047
'
の場合、16進数の\x27
ではありません。 awk.freeshell.org/PrintASingleQuote を参照してください。 - \ x22二重引用符(必要な場合)
回答
POSIXly:
awk -F"[ ,]" -v q=""" "{print q$4q}" <file
回答
POSIX Awkの場合、少し異なるアプローチ:
awk -F"[, ]" "{printf "\047%s\047\n", $4}" file "11-Aug-15" "11-Aug-15"
回答
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"
コメント
- 単一ではありません質問で指定されている引用符が印刷されます…
- @jasonwryan:要件に従って更新された回答を確認してください。