タグ

shellscriptとshに関するishideoのブックマーク (4)

  • よく使うワンライナー - わすれっぽいきみえ

    私がよく利用するワンライナー。 git関連 検索キーワードが含まれるファイル名だけを返す grep -vによる検索除外 git add -p と git commit -v git checkout で1ファイルだけ別のブランチから取ってくる ローカルにあるブランチをリモートにある別名のブランチにpushする リモートブランチをローカルから消す 過去90日間でよく編集されたファイルを抜き出す コマンド再実行関連 昔実行したスクリプトを探す forを使って複数サーバに同じコマンドを実行する ファイル操作 あるファイルの件数を知る git関連 検索キーワードが含まれるファイル名だけを返す $ git grep -l hoge | xargs grep -l foo git grep -l hogeでhogeが含まれるファイル一覧を取得した後、さらにfooが含まれるファイル一覧を吐き出す。 パイ

    よく使うワンライナー - わすれっぽいきみえ
  • xargsで複数行のコマンドを実行する方法 - それマグで!

    xargs で複数行のコマンドを実行したい。 出来ない・・・ ls *.txt | xargs -I@ echo @ ; sleep 1 forループならできるんだけど、for ループだとどうしても不便。 xargs でシェルコマンドを作って渡す. xargs だと限界があるので、もうシェルの文字列にして渡すしか、他に選択肢がない。 ls *.txt | xargs -I@ sh -c 'echo @ ; sleep 1' これなら動くんです。動くんです。 xargs が1つ実行するたびに、 sh -c 'echo @ ' の@ の部分にファイルを文字列として入れて渡してくれる。 bash でもいい sh だと機能が少ないので、bashにしてやるという手段も取れる。 ls *.txt | xargs -I@ bash -c 'echo @ ; sleep 1' 条件分岐も もうここまできた

    xargsで複数行のコマンドを実行する方法 - それマグで!
  • シェルスクリプトを何万倍も遅くしないためには —— ループせずフィルタしよう - Qiita

    🐚 🐚 🐚 🐚 シェルスクリプトは遅すぎて使えない 普通の「速い言語」より何百、いや、何千倍も遅い 他のプログラミング言語を経験してからシェルスクリプトに入門し、このような感想を持つ方も多いのではないでしょうか。 実際、こういったことは往々にして起こり得ますので、「速い言語」を使うべきか否か見極めることは大事だと思います。 しかし、当にシェルスクリプトというのは、そこまで遅いのでしょうか? データ量が多い場合は常に最初から「速い言語」で書いた方がよいのでしょうか? 実は、そうとも限りません。 シェルスクリプトにはシェルスクリプトなりの「速い書き方」があります。 この「速い書き方」で処理できる問題に関しては、シェルスクリプトは「速い言語」なのです。 では、「速い書き方」とは何かというと、端的には「たくさん繰り返されるループはシェルスクリプトで記述しない」ことです。 以下でこれを説明

    シェルスクリプトを何万倍も遅くしないためには —— ループせずフィルタしよう - Qiita
  • Linuxでプロセスが存在しない場合にコマンドを実行するには - Qiita

    お題の通りです。 例えば、常駐型のプロセスがあって、cron でそのプロセスの死活チェックを行い、死んでいたらプロセスを復活させたい場合などに使えます。 ps でプロセスを表示。 grep でプロセスをフィルタリング。 grep -v grep で、grep 自身のプロセスを除外。 || でつないで、コマンドが失敗(プロセスが存在しない)場合にコマンドを実行。

    Linuxでプロセスが存在しない場合にコマンドを実行するには - Qiita
  • 1