タグ

ブックマーク / hydrocul.github.io (5)

  • cut コマンド | コマンドの使い方(Linux) | hydroculのメモ

    cut コマンド 2016/06/11 タブ区切りでフィールドを選択して出力する、または各行の中の一部を範囲指定して出力するコマンド。 cutコマンドの使用例と、同じことをするPerlワンライナーの例 ## タブ区切りで最初の列と3列目だけを抽出して、タブ区切りで出力する $ cut -f1,3 foo.txt $ cat foo.txt | cut -f1,3 $ cat foo.txt | perl -anle 'print "$F[0]\t$F[2]"' ## 以下のようにしても列の順番は入れ替えてくれない $ cut -f3,1 foo.txt ## Perlならできる $ cat foo.txt | perl -anle 'print "$F[2]\t$F[0]"' ## 各行の4文字目以降を出力する $ cut -b4- foo.txt $ cat foo.txt | cut

    U1and0
    U1and0 2018/02/11
    “フィールドの区切りをタブではなくスペースにして処理するには 2013/06/17 cat <file-path> | cut -d' ' -f1,3”
  • ファイルサイズを取得するには | 入出力・ファイル操作 | プログラミング言語の比較 | hydroculのメモ

    U1and0
    U1and0 2017/09/17
    wcコマンドでファイルサイズがわかる。 $ wc -c foo.txt 9213 foo.txt awkコマンドと組み合わせればファイルサイズだけを取得できる。 $ wc -c foo.txt | awk '{print $1}' 9213
  • uniq コマンド | コマンドの使い方(Linux) | hydroculのメモ

    uniq コマンド 2015/09/25 連続して重複した行を1つにまとめるコマンド。 foo.txt が以下の内容の場合、 $ cat foo.txt 3333 4444 1111 1111 3333 3333 4444 uniq を使うと以下のようになる。 $ cat foo.txt | uniq 3333 4444 1111 3333 4444 連続していない離れた重複行も削除したければ、sortコマンドコマンドで予めソートする必要がある。その代わり順番は保存されない。 $ cat foo.txt | sort | uniq 1111 3333 4444 インストール 2016/03/17 Coreutilsというパッケージに入っているので、CentOSにもUbuntuにも始めから入っている。 オプション 2016/05/10 -c 重複している行数を先頭に付加する。重複していない行

    U1and0
    U1and0 2016/11/22
    cat samplt.txt | sort | uniq -c ヒストグラム化
  • grep コマンド | コマンドの使い方(Linux) | hydroculのメモ

    grep コマンド 2017/01/04 ファイルや標準入力から正規表現でマッチする行を探し出すコマンド。 ログファイルの中から特定のログを探し出したり、ソースコードのコード検索したり、いろいろな目的で使う。 ※ grepよりも高速に検索できる ack-grep などもある。 ※ Perlには同じ名前のgrepという関数がある。 ※ git管理下のディレクトリの場合には git grep も便利。 基的な使い方 2016/01/25 grep [オプション...] パターン [ファイル...] パターンを最後に書きたい場合は以下のように -e で明示的にパターンを指定する。 grep [オプション...] [ファイル...] -e パターン ファイルを指定しないと標準入力をパターンマッチングする。 私がソースコード一式のディレクトリの中から特定の単語を探すときには、再帰的に検索、かつ行番

  • awk コマンド | コマンドの使い方(Linux) | hydroculのメモ

    awk コマンド 2015/06/22 1つ以上のスペースで区切られた複数列のテキストデータをごにょごにょ処理するときに便利なツール。四則演算だとかもできる。 例えば以下のようなテキストファイルがあった場合、 1 2 3 4 以下のコマンドを実行すると awk '{print $1 * $2;}' foo.txt # または cat foo.txt | awk '{print $1 * $2;}' 以下のように出力される。 2 12 区切り文字はデフォルトで1つ以上のスペースやタブが使えるみたい。スペースやタブが間にいくつ連続していても1つの区切りとみなされる。 ただ、awkの文法をなかなか覚えられず、なにかやりたいときにはPerlのワンライナーでも同じことができるので、自分はPerlを使ってしまいがち。 HOWTO コンマ区切り(CSV)で処理するには 2014/08/10 -Fオプショ

    U1and0
    U1and0 2016/02/06
    awk 'NR==1 {max=$1} {if($1 > max) max = $1} END {print max}' hoge.txt
  • 1