bashのRANDOMコマンドの最大値
Bashで大量データを作成する時にRANDOMコマンドを使って数値を生成していたのだが、
Bashのmanページを見てみると、
RANDOM Each time this parameter is referenced, a random integer between 0 and 32767 is generated. The sequence of random numbers may be initialized by assigning a value to RANDOM. If RANDOM is unset, it loses its special properties, even if it is subsequently reset.
と書いてあり、0から32767までの数値しか生成してくれないみたいだ。
試しに50000件ほどRANDOMで書き出してみると、最大値が32767で重複している数値が複数見られたので、
RANDOMの代わりに、shufコマンドを使用する事にした。
shuf -i 0-100000 -n 1
とやれば、0から100000の範囲の中で1度だけ数値を出力してくれる。
shufはshuffleの略らしい。
詳しくはmanページを見ると良い。あんまり引数の種類が無いから、そんなに覚える事も無くて楽に使えそう。
https://linuxjm.osdn.jp/html/GNU_coreutils/man1/shuf.1.html
Flutterをインストールして動かしてみる
最近Flutterが熱いらしい(?)ので、とりあえずインストールしてサンプルを動かしてみる所までやってみました。
基本的には公式のインストール方法を元に構築していくだけです!
Bash系触るのが久々すぎて、bash_profile(またはzsh_profile)を変更後に、source ~/.bash_profile(~/.zsh_profile)するのを忘れていたせいで、flutterがコマンドとして認識してくれなくてちょっと時間食いました。
flutter doctorした後に必要な環境が揃っているか自動的にテストしてくれますが、先頭にビックリマークが表示されている項目に関しては推奨なだけなので別に設定しなくても問題ないです。
そもそもFlutterが注目されてるのは、Hot Reload機能が便利だからっていう事とAndroidとiOSのマルチプラットフォーム対応っていうのが熱いって言われている理由なのかなって思ってます。
とりあえず公式のサンプルと下記のURLを参考にしてデモまで動かしてみました。
Macは環境構築が楽でいい感じですね。
参考にしたもの。
qiita.com
(研究室で)知っておくと便利なUbuntuのコマンド
Ubuntuには便利なコマンドが沢山用意されています。
全部の使い方を理解するのは絶対無理なので、研究室にいる時に覚えておけば便利だなぁって思ったコマンドを幾つか列挙します。
※lsとかifconfigとか基本中の基本のコマンドは除きました。
気になる方は、プログラマーが知っておくと良いLinuxコマンド - Qiitaを参考にすると良いかも。
コマンド名 | 用途 | 使い方 | 参考リンク |
---|---|---|---|
nkf | 文字コードを変換する | nkf -w --overwirte FILE名 | nkfで文字コード変換 - Qiita |
pdftk | PDFのファイルを結合・一部切り出しが出来る | pdftk Input.pdf cat output Output.pdf | pdftk の基本的な使い方 - Qiita |
find | ディレクトリの中からファイルを探す | find . -name "*.pdf" | Linux findコマンド - Qiita |
grep | ファイル内を検索 | grep "Text" file.txt | grepの利用技まとめ - Qiita |
xargs | パイプで繋いだ時に繋ぐ前の結果を後に引き継ぐ | find . -name "*.pdf" | xargs grep "text.txt" | xargs のオプションいろいろ - Qiita |
convert | 画像の拡張子を変換する | convert Input.png Output.eps | ImageMagickの使用例 -- 入門 - Qiita |
scp | ssh経由でローカル-リモート間でファイルをコピーする | scp -r /Sending_path Receive@Receive_IP:/Receive_path | scpコマンド チートシート - Qiita |
他にも色々あると思うけど、思い出したら追記する。
findはファイルを探すのに有能だし、xargsは他にも色々使い道があるから知っておくとすごく便利になる。
scpは送る方と受け取る方を間違えると大変な事になる事があるので、気を付けて使いましょう。
書いてませんが、historyコマンドを使うと左側に番号が書いてあるので、もう一度使いたい番号の前に!を付けて実行すれば簡単にコマンドが再実行できます。
例:
500 ifconfig 501 ls -a 502 pwd kosuke@Desktop:~$ !501 ls -a
といった感じで簡単に実行できます。一々コピーしたり打ち直さなくて良いです。
TeX Studioで個人的に便利な機能
小ネタです.
だいぶ前にたまたま気づいた機能なので,もしかしたら既出かも知れないですが...
例えばこんな状況があったとします.
ここで,「あいうえお〜たちつてと」をitemizeして,各行の頭に\itemを付けたいとしましょう.
ここで,\itemを入れたい所にctrlキーを押しながらドラッグをすると,下の図みたいに選択することができます.
後はその状態のまま,\itemと入力すればまとめて選択した行全てに\itemが挿入されます.
連続した複数の行に同じ文字を追加したり削除する場合はこの方法が楽かなと思います.
隔行毎に処理を行う場合はvimを使うやり方が楽だと思います.