#author("2017-09-17T19:13:29+09:00","","")
#navi(../)
* 特定のカラムを削除し表示する・awkコマンド [#p4739e96]
特定のカラムを削除し、それ以外の情報を表示する方法を以下に記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#v36466a4]
-[[逆引きシェルスクリプト/awkコマンドの区切り文字をカンマに変更]]
-[[逆引きシェルスクリプト/awkの出力をカンマ区切りにする方法]]
-[[指定したフィールドを取り出す・cut>逆引きUNIXコマンド/指定したフィールドを取り出す・cut]]
-[[特定文字以降の文字列を削除する方法>逆引きUNIXコマンド/特定文字以降の文字列を削除する方法]]


* 可変項目のテキストファイルから特定の項目を削除し表示する [#a82d544a]
以下のようなファイルがあり、2番目の情報のみを削除し表示したい場合は以下のようにすると実現できます。~
 $ cat date.txt 
 1 Sunday 日曜日 星期天
 2 Monday 月曜日 星期一
 3 Tuesday 火曜日 星期二
 4 Wednesday 水曜日 星期三
 5 Thursday 木曜日 星期四
 6 Friday 金曜日 星期五
 7 Saturday 土曜日 星期六
** 実行例 [#zaacea52]
 $ cat date.txt | awk '{ $2="" ; print $0 }'
 1  日曜日 星期天
 2  月曜日 星期一
 3  火曜日 星期二
 4  水曜日 星期三
 5  木曜日 星期四
 6  金曜日 星期五
 7  土曜日 星期六
#br
2番目の項目を$=""とし、$0を使用することにより全てを表示することができます。~
しかし、''1番目と3番目の間に不要なスペースが1つ挿入されてしまいました。''~
そこで、バックスペースのエスケープシーケンスを使って以下のように記述し目的を達成しました。
 $ cat date.txt | awk '{ $2="\b" ; printf("%s\n",$0) }'
 1 日曜日 星期天
 2 月曜日 星期一
 3 火曜日 星期二
 4 水曜日 星期三
 5 木曜日 星期四
 6 金曜日 星期五
 7 土曜日 星期六

* 関連資料 [#v36466a4]
-[[逆引きシェルスクリプト/awkコマンドの区切り文字をカンマに変更]]
-[[逆引きシェルスクリプト/awkの出力をカンマ区切りにする方法]]
-[[指定したフィールドを取り出す・cut>逆引きUNIXコマンド/指定したフィールドを取り出す・cut]]

#br

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS