Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2722

【awk】行が長い SQL の in 句などを数個単位でまとめて行を短くするスクリプト

$
0
0

SQL の in 句を編集するときがたまにあります。

テキストエディタでシングルクオートを付与したり、置換などして加工しますが、こんなときこそさくっと加工したいところです。

また、 in 句が縦に長いとコピペなどにも苦労するので、数個単位でまとめてみました。
サンプルは4個単位でまとめています。

echo'A001
A002
A003
A004
A005
A006
A007
A008
A009
A010
A011'\
| awk'
  BEGIN {
    SQ="\047"
  }

  count++ {
    printf ","
  }

  {
    printf SQ $0 SQ
  }

  !(count%4) {
    printf "\n"
  }
'

結果は以下のように表示されます。

'A001','A002','A003','A004','A005','A006','A007','A008','A009','A010','A011'

こちらでも良さそうです。

echo'A001
A002
A003
A004
A005
A006
A007
A008
A009
A010
A011'\
| awk'
  BEGIN {
    SQ="\047"
  }

  count++ {
    print ","
  }

  {
    printf SQ $0 SQ
  }
'\
| paste - - - -

結果は以下のように表示されます。

'A001','A002','A003','A004','A005','A006','A007','A008','A009','A010','A011'

Viewing all articles
Browse latest Browse all 2722

Trending Articles