skillup

技術ブログ

サーバー・ネットワーク

Linuxコマンドでのテキスト整形 CSV系の処理など

投稿日:

以前、対テキストファイル系のLinuxコマンドの使い方を紹介しましたが、その関連エントリーを。

今回やるのはCSV系の処理ですね。

id name age
1  suzuki 35
2  tanaka 40

などといったデータをヘッダーを無視して年齢順に並べたいとき、

1 ヘッダーを無視したいので2行目から出力する(head -n+1 テキストファイル名)

2 対象データをあるキーで数値としてソートする(sort -k 3,3 -n 通常は数値でなく、文字扱いになるので文字列だと1<10<5<50となる)

これらをパイプでつなぐと下記のようになります。

また特定のキーで特定条件にあたるものの別の列を出力したいとき

上記のCSVの例でいうと20才以上のid,nameを出力したいときはcatとawkを使い下記のように書きます。

参考リンク

http://qiita.com/richmikan@github/items/cc4494359b1ac2f72311

http://itref.fc2web.com/unix/awk.html

-サーバー・ネットワーク
-

執筆者:


comment

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

関連記事

no image

一般的なサーバー監視コマンド

一般的な監視コマンドをメモします。 Contents1 ネットワーク状況1.1 ping1.2 traceroute ネットワーク状況 ping ネットワークの通信が正常かどうかをみる最も一般的なコマ …

no image

zabbixエージェント設定

本日はzabbixのエージェント設定について。 zabbixでは監視される側と監視する側があり、する側は通常Zabbix Serverになり、される側はzabbix Agentになります。 要はサーバ …

no image

Vagarant+Eclipse(Perl)での作業環境構築

現在の案件でPerlの改修があるんですが、windowsだとモジュールの依存関係でうまくコンパイルできなかったりといろいろとトラブルが起こったんで、今はやりの仮想環境でやることに。 まだ完ぺきではない …

no image

vimの設定に関して

今の開発ではほとんどeclipseを使っていますが、プログラミングをやり始めてから2年ぐらいはずっとgvim(vimのGUI版)でした。 別にこだわりがあったわけではないんですけどね。 最初にならった …

no image

ansible mysql,cronなど

Contents1 ansibleでのMySQlのインストール (CentOS6)2 ansibleのcronインストール3 任意のコマンド4 ansibleオプション ansibleでのMySQlの …