skillup

技術ブログ

サーバー・ネットワーク

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

投稿日:2016年5月6日 更新日:

以前、対テキストファイル系の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を使い下記のように書きます。

参考リンク

sortコマンド、基本と応用とワナ

awk入門 コマンドの使い方とスクリプトの書き方

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

執筆者:


comment

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

関連記事

no image

ドメイン取得とメール送信

現在ではメール配信サービスなどが充実しており、メールサーバーを立てる機会なんぞは少ないかとしれません。 そもそも一般的なレンタルサーバー会社の場合、レジストラとセットになっていることが多いですよね。そ …

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

no image

メール送信に関して その2 メールメッセージのデータ形式

前回に引き続き、メールのメッセージ構造について書きたいと思います。 Contents1 大まかな構造2 ヘッダ部2.1 メールアドレス2.2 From/Sender/Reply-To2.3 To/Cc …

no image

Dockerfile作成での気づきなど(php+webサーバー)

実務で、Dockerfileを色々いじっていたんのでそこで得た気づきなどを。 Contents1 基本的な構成の考え2 アプリに関して 基本的な構成の考え 以前はCentOSを入れてその中にphp、M …

no image

ファイル抽出系のシェルスクリプト(主にfind系)

実務であるアプリのログをまとめるスクリプトを書きました。 log1.log log2.log log3.log ・・・・ みたいにローテーションして吐かれていくのですが、量が多いので1日分をまとめるこ …