Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

UNIX

UNIXコマンド | colordiff - diffコマンドに色を付けたラッパーコマンド

概要 colordiff - diffコマンドに色を付けたラッパーコマンド 詳細 diffコマンドを利用する際に、差分に色がついていたら見やすいのに・・と言うときに便利な ラッパーコマンド。cygwinで利用したい場合は apt-cyg install colordiff 試行 比較ファイル1 hog…

UNIXコマンド | clear - コンソールをクリア

概要 clear - コンソールをクリア 詳細 コンソールで作業している際に、以前の出力が邪魔な時があります。 その場合にclearコマンドによって過去の出力を画面外に追いやることが出来ます。 ※カーソルで上にもどれば、出力内容は残っている。cygwinで利用した…

UNIX | lsなどのスペース区切りの出力をTSV形式にする場合

概要 lsなどのスペース区切りの出力をTSV形式にする場合 詳細 lsなどのスペース区切りの出力をTSV形式にする場合について。一覧データをExcelに貼り付けたい、と言う場合にTSV形式だと そのままコピペ出来て便利です。 lsをTSV形式にする 下記が、lsの連続し…

UNIXコマンド | watch | 一定間隔ごとにコマンドの結果を監視する

概要 一定間隔ごとにコマンドの結果を監視する 詳細 一定間隔ごとにコマンドの結果を監視します。 watch -n 1 --differences command サンプル 一定間隔ごとにカレントディレクトリのファイルの状態を確認する場合は以下 differencesで、差分をハイライトし…

UNIXコマンド | xclipにaliasを設定してgetclip,putclipとして使う

概要 xclipにaliasを設定してgetclip,putclipとして使う 詳細 UNIXコマンド | xclip - コマンドからのクリップボードの操作Comments http://d.hatena.ne.jp/tbpg/20130527/1369672244 上記の記事で紹介したxclipはコンソール上でクリップボードのやり取りが …

UNIXコマンド | xclip - コマンドからのクリップボードの操作

概要 xclip - コマンドからのクリップボードの操作について 詳細 以下のコマンドでインストールします。 sudo apt-get install xclip サンプル $figlet hoge | xclip -i -selection clipboard $xclip -o -selection clipboard _ | |__ ___ __ _ ___ | '_ \ /…

UNIXコマンド | tree - フォルダツリーの表示

概要 tree - フォルダツリーの表示について 詳細 Windowsのtreeコマンドと同様の機能以下のコマンドでインストールします。 sudo apt-get install tree サンプル treeフォルダの配下に1-5のフォルダを作成し、 1の配下にさらに1-5を作成した状態でtreeを実行…

figlet | 入力文字列をアスキー文字で出力する

概要 入力文字列をアスキー文字で出力する コマンド figlet [オプション] 入力文字列 オプション Usage: figlet [ -cklnoprstvxDELNRSWX ] [ -d fontdirectory ] [ -f fontfile ] [ -m smushmode ] [ -w outputwidth ] [ -C controlfile ] [ -I infocode ] […

UNIXという考え方

概要 書籍 UNIXという考え方に関するメモ。 内容 UNIXの定理 No 題目 内容 1 小さいものは美しい 小さいプログラムは分かりやすく、保守しやすく、システムリソースに優しい。また他のツールと組み合わせやすい 2 1つのプログラムには1つのことをうまくやら…

UNIX | cut 入力から特定の文字範囲、列を取り出す

概要 cut 入力から特定の文字範囲、列を取り出す コマンド cut [オプション] オプション -b, --bytes=LIST バイトで数えた LIST を選択する -c, --characters=LIST 文字で数えた LIST を選択する -d, --delimiter=DELIM フィールドの区切り文字として TAB の…

sedでログの特定日時の行範囲を取得する(おまけでRubyによるサンプル日時データ生成)

概要 sedでログの特定日時の行範囲を取得する 内容 大容量のログファイルがあり、日時の昇順で内容が書き込まれていることが前提。 特定の日時範囲のログのみを取得する際にsedを利用する。 コマンド 「2012/11/12 00:27:48」が出力された行から最後の行まで…

diff | ファイルの内容を比較

概要 diffでファイルの内容を比較 構文 diff / / diff 条件 下記の構成を前提とする。 current directory ┣target1 ┃ ┃test1.txt ┃ ┗test2.txt ┗target2 ┃test1.txt ┗test2.txtファイルの中身(target2\test1.txt以外は全て同じ内容) hoge foo barファイル…

bashで特定のフォルダ配下の任意のファイル名一覧を取得

条件 下記の構成を前提とする。 target ┣level1 ┃ ┃level2_sample.txt ┃ ┗level2_sample_.txt ┃level1_sample.txt ┗level1_sample_.txtこの条件で現在のフォルダ配下にある、sample.txtという名前で終るファイルを全て抽出して、 ファイル名のみの一欄で表示…

テキストファイルの内容でディレクトリを作成

概要 テキストファイルの各業の内容でディレクトリを作成します。 前提 作成するディレクトリ名は以下のファイル(create_file.txt)の各行に記述してあるcreate_file.txtの内容は以下 テキストエディタvi 基本的な編集作業 素早くジャンプする方法 viの中級コ…

hostname ホスト名の表示・選択をする

概要 hostnameコマンド カレンダーを表示する コマンド hostname [NAME] または hostname OPTION オプション --help この使い方を表示して終了する --version バージョン情報を表示して終了する サンプル $hostname XXXXX(ホスト名)

cal | カレンダーを表示する

概要 カレンダーを表示する コマンド cal [オプション] オプション 3 = 前月、今月、来月を表示 s = 日曜日を週の頭にして表示 m = 月曜日を週の頭にして表示 y = 1年表示 サンプル $cal 3月 2012 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15…

ps | プロセス名からプロセスIDを一覧表示する

概要 プロセス名からプロセスIDを一覧表示します コマンド pgrep [オプション] [パターン名] オプション f = マッチさせるパターンをコマンドライン全体を対象とする l = プロセスIDとプロセス名を同時に表示する サンプル $pgrep bash 7820 $pgrep -l bash …

特定のフォルダ配下の全ファイルを別フォルダにコピー

概要 あるフォルダA配下にある全てのファイルを別のフォルダにコピーします フォルダ構成 コピー元 from_folder | ┣─folder1 | file1_1 | file1_2 | file1_3 | ┣─folder2 | file2_1 | file2_2 | file2_3 | ┗─folder3 file3_1 file3_2 file3_3to_fol…

wc | ファイル、標準入力の内容をカウント

概要 指定ファイルの文字数、改行数、単語数などをカウントします。 wc -オプション ファイル名 オプション c = バイト数 l = 改行数 m = 文字数 w = 単語数 L = 指定したファイルの中の最大長の行を表示オプションを指定しない場合は、行数・単語数・バイト…

unexpand | スペースをタブに変換

概要 スペースをタブに変換します。unexpand ファイル名 サンプル 変換前 test.txt 1 2$unexpand -t 1 test.txt > test_expand.txt変換後 test_expand.txt 1 2

tr | 標準入力の内容を置換、削除する

概要 標準入力の内容を置換、削除します tr オプション d = 置換をせずに削除する s = 複数連続マッチした場合に1つにまとめて置換する t = FROMからTOまで切り詰める SET1の置換、削除ルール(正規表現) SET2 tオプション時に利用。 指定内容について \NNN…

tee | 標準入力を全てのファイルに書きこむ

概要 標準入力を全てのファイルに書きこみます。 tee オプション ファイル名 サンプルコード $ls new_test.txt old_test.txt test.txt $cat *test.txt new_test old_test test $echo "hogehoge" | tee -a *test.txt hogehoge $cat *test.txt new_test hogeho…

test | 各種検証

概要 ファイルやフォルダの状態など各種検証をする。 test オプション ファイル名や文字列 オプション e ファイル = ファイルが存在していれば真 文字列 = 文字列が1文字以上あれば真 サンプルコード $test -e test.txt;echo $? 0 $test -e test.gif;echo $?…

free | メモリーの使用状況を表示する

概要 メモリーの使用状況を表示します。 free オプション b = 容量をバイト単位で表示 k = 容量をKバイト単位で表示 m = 容量をMバイト単位で表示 g = 容量をGバイト単位で表示 s 数字 = 指定した秒数感覚で再表示し続ける c 数字 = 指定した回数繰り返し表…

stat | ファイルの詳細情報を表示

概要 ファイルの詳細情報を表示します。 stat ファイル名 サンプル $stat test.txt File: `test.txt' Size: 5 Blocks: 1 IO Block: 65536 通常ファイル Device: 84509a52h/2219874898d Inode: 12384898975493847 Links: 1 Access: (0644/-rw-r--r--) Uid: (1…

expand | タブをスペースに変換

概要 タブをスペースに変換します。expand ファイル名 サンプル 変換前 test.txt test test test$expand -t 10 test.txt > test_expand.txt変換後 test_expand.txt test test test

colrm | 指定範囲の文字列を削除

概要 指定範囲の文字列を削除します。 colrm from to fromのみを指定した場合は、fromから文字列の最後まで削除されます。 サンプルコード $echo 1234567890 | colrm 2 5 167890 $echo 1234567890 | colrm 7 123456

factor | 素因数分解をする

概要 素因数分解をします。 factor 数値 サンプルコード $factor 10 10: 2 5 $factor 11 11: 11 $factor 1055 1055: 5 211

banner | 文字を大きく表示する

概要 以下の構文で文字をX表記で大きく表示できます。 ASCII文字のみを対象とする。 banner "文字列" オプション c 文字 デフォルトのX表記から別の文字による表記に変更 w 数字 どこまで表示するかを設定。デフォルトは80。 サンプルコード $banner "defaul…

expr | 整数計算を行う

概要 整数計算を行う。 expr 数式 サンプル expr 2 + 2 expr 2 - 2 expr 2 \* 2 expr 2 / 2 expr 2 % 2 expr 2 = 2 expr 2 = 3 出力 $expr 2 + 2 4 $expr 2 - 2 0 $expr 2 \* 2 4 $expr 2 / 2 1 $expr 2 % 2 0 $expr 2 = 2 1 $expr 2 = 3 0