言語-bash

ディレクトリのepsをpdfに変換する

shellで行います。 ファイル名がepsからpdfに変わったものとして出力させます。 ファイル名を取得して、ループで回します。 for var in `ls *eps` do name=`basename $var .eps` echo $name.pdf epstopdf $var $name.pdf done

テキストファイルで検索したい単語のある行以降を表示

テキストファイルからある単語を検索して、その行以降を表示する方法についてまとめます。 手順は 単語をgrepで検索して行番号だけとる ある行番号以降をtailで表示 1. 単語をgrepで検索して行番号だけとる $ grep -n find_word $file | sed -e 's/:.*//g' 2…

bashで掛け算

bashで掛け算するには少し注意が必要。 以下の3パターンが考えられるが、少数を計算するときは、awkが一番楽. exprコマンド bcコマンド awkコマンド 整数の計算 exprコマンドでは掛け算の時または括弧には\が必要。 > a=3 > b=6 > expr $a \* $b 18 少数の…

sshfs使い方

$ sshfs usrname@hostname:/remote_path/ /local_path/ sshfsでは~を使うとエラーが出る。rootユーザーになるからとか書いてあった気がする。 $ sshfs usrname@hostname:~/remote_path/ /local_path/ fuse: invalid argument `~/remote_path/` のようなエラ…

jupyterでunixコマンド使うときの注意点

パイプで繋げるときは次のコマンドは!いらない。 例として、 !cat temp.txt | wc -l またawkを使うときには注意が必要で、{{, $$にする必要がある。 !cat temp.txt | awk '{{print $$1 " " $$2}}' ほんとはこの出力をそのままnp.loadtxtとかに渡したいけど、…

awkで重複行削除

以下のようなテキストファイルの1列目の値でuniqueな個数を数える。 # sample.txt 41 83 83 186 88 186 989 187 494 210 98 225 以下のコマンドで重複しないで1列目の値だけを表示する。 cat sample.txt | awk `a[$1]++ == 0 {print $1}' 行の数を数えると…

shell, 最大値, 並び替え

やること 例えば以下のようなファイルを考えて、これを1列目の数字が昇順になるように並べます。 sample.txt 13 0.8 48 7.9 33 14.1 63 19.3 25 20.6 14 22.6 29 24.8 68 28 47 32.9 94 35.1 やることはまず1列目の最大値を求めて、次に1列目を並び替えま…