Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

bash

【bash】ランダムな文字列からなる巨大なテキストファイルを簡単に作成する

以下は、5種類の5文字の文字列がランダムで10万行並べられたテキストファイルを作成した例。文字コードがUTF-8のため、(3×5+1)×100000=1600000バイト(約1.5MB)のテキストファイルを作成している。 $ locale | head -n 1 LANG=ja_JP.UTF-8 $ s=(鈴木みの…

【bash】乱数を発生させる

シェル変数RANDOMを参照する。戻り値は0~32767のいずれか一つの整数値。動作確認などで乱数の発生を再現したい場合は、実行前にこのシェル変数に適当な同じ数値(乱数の種)を指定して実行すればよい。 $ echo $RANDOM 14239 $ echo $RANDOM 29607 $ echo $…

【bash】実行中のスクリプトのスクリプトファイル名を得る(拡張子も取り除く)

以下のスクリプトを作成してname.bashとして保存して実行してみる。 #!/bin/bashbase=$(basename $0)body=${base%.*}echo $baseecho $body 実行結果。 $./name.bashname.bashname

【bash】ファイルの存在の確認

testコマンドを使う。testコマンドは角括弧「[ ]」をペアで使うことで起動することもできる。通常はこのような使い方をする。 以下は、カレントディレクトリにファイル「file.txt」、ディレクトリ「dir」があるかないかの存在の確認をするシェルスクリプト。…

【bash】シェル変数に代入されている、パスを含むファイル名から拡張子を取り除く

パターン照合演算子%を使えばよい。以下は拡張子を1つ、2つ取り除く例。シェル変数stに拡張子を含むファイル名のような文字列を代入して試している。 $ st=a.bc.def.ghij$ echo ${st%.*}a.bc.def$ echo ${st%.*.*}a.bc パターン照合演算子%は一致する最小部…

【bash】シェルスクリプト内で処理に要した時間を計算する

例えば、以下のようなシェルスクリプトを書けばよい。 #!/bin/bash# 処理開始日時の記録# 1970-01-01 00:00:00からの通算秒が記録されるbegin_date=`date +%s`## (ここに処理を行うコマンドなどを記述)## 処理終了日時をend_date=`date +%s`# 日付の計算開始…

【bash】ヒストリの記憶しておく個数を増やす

特に設定しないと1000になっているようだ。~/.profileに以下のような1行を記述する。以下は記憶しておく個数を3万個にする例。 export HISTSIZE=300000