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" 

回答

一重引用符は\x27

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

コメント

回答

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:要件に従って更新された回答を確認してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です