タグ

ブックマーク / takuya-1st.hatenablog.jp (6)

  • GNU parallel でコマンドを並列実行する - それマグで!

    コマンドを並列実行したい時があります。 たとえば、たくさんの画像を変換したり、動画を変化したりなどジョブを大量に起動することをしたいとき コマンド実行中もマルチコアのCPUが余っててもったいなーって思います。i7などは4コア2スレッドの8CPU有りますからね。 またruby などはGIL ( global interpreter lock )で上限ストップがかかってたり。 普段は xargs 並列実行は xargs を使ってます。 find | xargs -P0 GNU parallel というものを見つけた GNU Parallel を使うと並列実行が可能になるということを知りました。 早速インストール brew install parallel sudo apt install parallel prallel の特徴 並列実行したいコマンドと並列実行したいファイルを引数を指定する。

    GNU parallel でコマンドを並列実行する - それマグで!
    U1and0
    U1and0 2019/06/29
    コマンドによってはparallelよりもxargsの方が早い(し使いやすいしなんといってもどこにでもある)
  • LVMの作成と削除のやり方の例-基本コマンド - それマグで!

    的なLVMの作成例 LVM の作成計画 LVM の作成 LVM の削除 作ったものは後始末するということで、LVMを作って削除するまでをメモしておきます。 用意するもの LVM の管理下に置きたいHDD/SSD/パーティション LVM の名前 LVM の容量計画 LVM の容量計画 どのように物理的なHDDやパーティションを扱いたいのか決めておく必要がある。 ただし、LVMの知識がないとこの計画が立たないので、LVM作成を躊躇する人や、よくわからないのでフォーマットしちゃうような人が多い気がする。 でも大丈夫、LVMは「あとでどうにでもにも」することができるので、LVM管理下においちゃって大丈夫 今回は実験用にHDDのパーティションをLVM管理下においちゃうことにする。 LVM の名前 名前をつけないと、適当な名前がlvm2 のモジュールによって命名される。 今回は何か名前をつけようと

    LVMの作成と削除のやり方の例-基本コマンド - それマグで!
  • bashでif に正規表現を使った文字列マッチ条件分岐 - それマグで!

    bash の使い方 bash の使い方の正規表現編です。 bash で正規表現マッチのif も出来ます。 Version 3.2 くらいから、=~ によるマッチ判断ができるようになっています。 正規表現マッチで条件分岐の例 とてもかんたんなマッチングの例を見ておきましょう。 name='<h1>takuya</h1>' if [[ $name =~ takuya ]] ; then echo match fi if の条件のなかに [[ ]] のダブルブラケットを書くのがポイントです。正規表現はクオテーションは不要です。クオートしたら動かないので注意してね。 これで、文字列が存在したらマッチ。文字がアレば何かする事ができます。 すこし複雑な正規表現マッチ 最初の例だと単なる文字列マッチと区別がつかないので、もうすこし正規表現らしいマッチングをしてみます。 電話番号にマッチ tel='090

    bashでif に正規表現を使った文字列マッチ条件分岐 - それマグで!
    U1and0
    U1and0 2018/06/11
    [[ダブルで使うのが大事
  • Windowsのコマンドがどこにあるか調べる:Whereで - それマグで!

    where コマンドでコマンドの場所を確認できます。 C:\Users\takuya>where ping C:\Windows\System32\PING.EXE notepadの実体がどこにあるかを確認できます。 C:\Users\takuya>where notepad C:\Windows\System32\notepad.exe C:\Windows\notepad.exewhere コマンドは、UNIXでは whereis に相当しますね。 where コマンドで名前の衝突を確認できます。 vimが衝突したとき C:\Users\takuya>where vim C:\Users\takuya\apps\vim\vim73\vim.exe C:\Users\takuya\apps\vim\gvim72\vim.exe複数出てきた場合は、名前が衝突しています。一番最初のコマンドが

    Windowsのコマンドがどこにあるか調べる:Whereで - それマグで!
    U1and0
    U1and0 2016/08/12
    where コマンドで名前の衝突を確認できます。 vimが衝突したとき C:\Users\takuya>where vim C:\Users\takuya\apps\vim\vim73\vim.exe C:\Users\takuya\apps\vim\gvim72\vim.exe 複数出てきた場合は、名前が衝突しています。一番最初のコマンドが使われるよ
  • pythonでコマンド実行するには - それマグで!

    シェルスクリプトの代わりにPythonで書いてみる コマンド実行をする コレを使います。 import subprocess import shlex ret = subprocess.check_output(shlex.split("date -I")).decode("UTF-8").strip() print(ret) 詳しく書いていきます。 subprocess モジュールを使う subprocess はコマンド実行がちょっと面倒臭い。 import subprocess input_f = "player.swf" output_f = "radiko.png" cmd = "/usr/local/bin/swfextract -b 14 %s -o %s" % (input_f, output_f ) subprocess.call( cmd.strip().split("

    pythonでコマンド実行するには - それマグで!
    U1and0
    U1and0 2016/02/18
    os.system はすでにサポートされなくなりつつあるので、subprocessを使う方がいいようです。
  • SublimeText でソースコードを実行するBuildオプションを作る - それマグで!

    SublimeText入れています。 node.jsの実行をして簡単にシンタックス・チェックする。 javascript.sublime-build { "cmd": ["node", "$file"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": ["source.javascript"], "path": "/usr/local/bin" }ポイントは cmd でコマンドを指定。コマンドの引数とコマンド名をcmd[0],cmd[1],cmd[2]...に指定する。 pathが通ってないコマンドを実行するときは path :"/User/takuya/bin/" などと指定する。 JSON.sublime-build { "cmd": ["/usr/local/bin/JSON.parse", "$file"], "f

    SublimeText でソースコードを実行するBuildオプションを作る - それマグで!
    U1and0
    U1and0 2015/12/31
    JSON.sublime-build { "cmd": ["/usr/local/bin/JSON.parse", "$file"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": ["source.json"], "path": "/usr/local/bin" } 同じように、JSONも可能。
  • 1