逆引きシェルスクリプト/awkの出力をカンマ区切りにする方法
の編集
Top
/
逆引きシェルスクリプト
/
awkの出力をカンマ区切りにする方法
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
[[逆引きシェルスクリプト]] #navi(../) *awkの出力をカンマ区切りにする方法 [#i6dcc623] awkを使って、取得したデータをカンマ区切りで出力する方法を以下に記します。 #contents #htmlinsert(linux_ads_top.html) * OFSにカンマを設定する [#nd6a3ab2] OFSにカンマを設定することにより出力がカンマ区切りになります。~ (printfによるカンマ区切り出力もできますが、この資料ではOFSを設定してカンマ区切りの出力をします) * 実行例:スペース区切りのファイル [#gba3d261] 以下のファイルの1番めと3番めをawkで取得しカンマ区切りで出力する実行例を以下に記します。 $ cat date.txt 1 Sunday 日曜日 星期天 2 Monday 月曜日 星期一 3 Tuesday 火曜日 星期二 4 Wednesday 水曜日 星期三 5 Thursday 木曜日 星期四 6 Friday 金曜日 星期五 7 Saturday 土曜日 星期六 - 実行結果 vオプションを使用しOFSにカンマを指定することにより出力がカンマ区切りになります。~ $ awk -v OFS=, '{ print $1,$3 }' date.txt 1,日曜日 2,月曜日 3,火曜日 4,水曜日 5,木曜日 6,金曜日 7,土曜日 - BEGINを使った場合 以下の記述でも同様の動作になります。 awk 'BEGIN { OFS="," } { print $1,$3 }' date.txt printfを使う場合は以下のようになります。 awk '{ printf("%s,%s\n",$1,$3) }' date.txt * 実行例:カンマ区切りのファイル(CSVファイル) [#r1a58c1a] 以下のファイルの1番めと4番めをawkで取得しカンマ区切りで出力する実行例を以下に記します。 $ cat date.csv 1,Sunday,日曜日,星期天 2,Monday,月曜日,星期一 3,Tuesday,火曜日,星期二 4,Wednesday,水曜日,星期三 5,Thursday,木曜日,星期四 6,Friday,金曜日,星期五 7,Saturday,土曜日,星期六 - 実行結果 $ awk -F , -v OFS=, '{ print $1,$4 }' date.csv 1,星期天 2,星期一 3,星期二 4,星期三 5,星期四 6,星期五 7,星期六 * 関連記事 [#f384d075] -[[逆引きシェルスクリプト/awkコマンドの区切り文字をカンマに変更]] -[[逆引きシェルスクリプト/特定のカラムを削除し表示する・awkコマンド]] -[[指定したフィールドを取り出す・cut>逆引きUNIXコマンド/指定したフィールドを取り出す・cut]] //#htmlinsert(linux_ads_btm.html)
タイムスタンプを変更しない
[[逆引きシェルスクリプト]] #navi(../) *awkの出力をカンマ区切りにする方法 [#i6dcc623] awkを使って、取得したデータをカンマ区切りで出力する方法を以下に記します。 #contents #htmlinsert(linux_ads_top.html) * OFSにカンマを設定する [#nd6a3ab2] OFSにカンマを設定することにより出力がカンマ区切りになります。~ (printfによるカンマ区切り出力もできますが、この資料ではOFSを設定してカンマ区切りの出力をします) * 実行例:スペース区切りのファイル [#gba3d261] 以下のファイルの1番めと3番めをawkで取得しカンマ区切りで出力する実行例を以下に記します。 $ cat date.txt 1 Sunday 日曜日 星期天 2 Monday 月曜日 星期一 3 Tuesday 火曜日 星期二 4 Wednesday 水曜日 星期三 5 Thursday 木曜日 星期四 6 Friday 金曜日 星期五 7 Saturday 土曜日 星期六 - 実行結果 vオプションを使用しOFSにカンマを指定することにより出力がカンマ区切りになります。~ $ awk -v OFS=, '{ print $1,$3 }' date.txt 1,日曜日 2,月曜日 3,火曜日 4,水曜日 5,木曜日 6,金曜日 7,土曜日 - BEGINを使った場合 以下の記述でも同様の動作になります。 awk 'BEGIN { OFS="," } { print $1,$3 }' date.txt printfを使う場合は以下のようになります。 awk '{ printf("%s,%s\n",$1,$3) }' date.txt * 実行例:カンマ区切りのファイル(CSVファイル) [#r1a58c1a] 以下のファイルの1番めと4番めをawkで取得しカンマ区切りで出力する実行例を以下に記します。 $ cat date.csv 1,Sunday,日曜日,星期天 2,Monday,月曜日,星期一 3,Tuesday,火曜日,星期二 4,Wednesday,水曜日,星期三 5,Thursday,木曜日,星期四 6,Friday,金曜日,星期五 7,Saturday,土曜日,星期六 - 実行結果 $ awk -F , -v OFS=, '{ print $1,$4 }' date.csv 1,星期天 2,星期一 3,星期二 4,星期三 5,星期四 6,星期五 7,星期六 * 関連記事 [#f384d075] -[[逆引きシェルスクリプト/awkコマンドの区切り文字をカンマに変更]] -[[逆引きシェルスクリプト/特定のカラムを削除し表示する・awkコマンド]] -[[指定したフィールドを取り出す・cut>逆引きUNIXコマンド/指定したフィールドを取り出す・cut]] //#htmlinsert(linux_ads_btm.html)
テキスト整形のルールを表示する