ルータにPCディスプレイをつなぎ、さらにプレゼンを行うまでの記録。 ブログ記事: http://zopfcode.hateblo.jp/entry/2016/02/02/211740Read less
I am a newbie to linux and I am trying to watch a command and try to log it into a file. I tried watch -t -n 10 "(date '+TIME:%H:%M:%S' ; ps aux | grep "pattern" | wc -l)" >> logfile and am expecting a result like TIME: 10:32:30 12 TIME: 10:32:40 18 TIME: 10:32:50 2 to be stored in logfile. However, when the logfile has unprintable characters in in. How do I get this kind of output from the comman
Unix/Linux系のOSでは、ユーザー設定をテキストファイルに記述して、ログイン時に自動的に読み込みを行います。 また、ログインするシェル(bashやzsh)によって、読み込むファイルが変わってきます。 そういうことをわかってきた今日このごろ、/etc/profile.d/というディレクトリに遭遇しました。 これ一体なんなのでしょうか。使い方(用途)を調べたのでメモしておきます。 /etc/profile.d/とは サーバ共通の環境変数を設定するファイル置き場です。 ユーザがサーバーにログインすると、配下のshellファイル一覧、つまりは「/etc/profile.d/*.sh」が自動的に読み込み、実行されます。(※1) ※1 ログインシェルが、bashの場合 /etc/profile.d/配下に置くファイルの例 アプリケーション毎の設定(環境変数・変数など)を記述します。例えば、no
こんにちは、TechscoreBlogのログ閲覧が日課になっている河野です。 ログをtailでリアルタイムに見ているときに、grep, awk, sedと組み合わせることがあります。ところが、特にオプションを指定しないと、各コマンドでバッファされてしまうので、ログの表示が遅延することがあります。単にアクセス状況を眺めているだけなら問題ありませんが、チューニングしてる時とか気になりますよね。 そんなわけで、今回はバッファさせない方法を紹介します。 grep : --line-buffered grepでのオプションです。正確にはバッファさせないのではなくて、1行毎に出力するというオプションです。 tail -f logfile | grep --line-buffered -vE '\.(css|js|ico|png|gif|jpe?g)'
はじめまして。 4月からランサーズのエンジニアチームにジョインしました大平です。 好きな言語はPerl, ShellScript, JavaScriptです。 プロンプトはbashですが、個人的なShellScriptはzshです。 データ調査をしている時に、あと少しで欲しいデータが取れそうだけど、取れない。。。 そんなもどかしい経験ありませんか。そういった時どんな解決手段をとっていますか? 複雑なSQLを書いてがんばる サービスで使っているプログラミング言語を介して SQLとExcelの合わせ技でがんばる 手作業(気合い)でがんばる 色々なアプローチがあると思いますが、今回はそういった時に役立つかも知れないオススメな方法をご紹介したいと思います! mysqlコマンドさえ使えれば標準的なUNIXコマンドを組み合わせるだけでも強力なツールとなります。 MySQLにログインせずにSQLを発行す
要約 Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。 sh/csh の制御文は Ruby の機能を用いて実現します。 サンプル Example 1: sh = Shell.cd("/tmp") sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1") sh.cd("shell-test-1") for dir in ["dir1", "dir3", "dir5"] unless sh.exists?(dir) sh.mkdir dir sh.cd(dir) do f = sh.open("tmpFile", "w") f.puts "TEST" f.close end print sh.pwd end end Example 2: sh = Shell.cd("/tmp")
シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから
仕事でちょっと質問されて最近はこういうの知らない人もいるんだなぁってことで纏めておく。 いいネタだし、自分も最後に紹介するコマンドをど忘れしていたというのもある。 そもそもの質問は、バッチ処理を走らせているんだがログアウトしたらプロセスが死ぬのを何とかしてバックグラウンドで走らせておきたい、というよくある話。 まず、ログインしている状態でのプロセスの操作から。 $ hoge.sh とかしてこのプロセスが動き続けているとする。 まず、Ctrl+Zするとプロセスがサスペンドという一時停止状態になる。 この状態でfgコマンドでフォアグランドに戻り動作を再開する。 bgならばバックグランドのままで動作を再開する。 これらはジョブというshellの処理単位として管理されている。 ジョブの状態を確認するには、"jobs"コマンドを使用します。 さてCtrl+Zの動作だが、これは内部的にはプロセスにSI
端末からgoogle検索ができないかなあと思ったので、暇を見つけてシェルスクリプトを書いた。 ヒットした件数と、サイトのリンクの文字列だけ抜き出そうと思ったが、えらい面倒だったので件数を表示するだけで力尽きた。ってか3日くらいかかった。 実行すると、以下のようになる(あくまで例)。 $ ./googleSearch.sh 検索したい単語 検索結果 10,000,000 件 これを見ていて、 $ for i in `seq 1 100`; do ./googleSearch.sh $i; done した結果をファイルに書き出してエディタで適当に整形してOpen Office Calcに流し込んでみた。 何をやっているかって言うと、「1」から「100」という数字をgoogle検索に掛けて件数だけ取り出した。 グラフに描いた結果は以下。 突出している値が、1,10,20,30,40,50のような
最近はradikoやらじる★らじるのタイマー録音絡みで、シェルスクリプトを触る機会が多かったのだが、 再びradikoで録音したい! - ザリガニが見ていた...。 予約日時になったらちゃんと目覚めるtimerコマンドが欲しい - ザリガニが見ていた...。 radikoをキーワードで予約する - ザリガニが見ていた...。 自分の思いどおりに動作する時とうまく動かない時の原因は、そのほとんどが、スペース・タブ・改行を扱う時の勘違いにあると感じてしまった...。その扱いを正確に理解していれば、シェルスクリプトはかなり高度なテキスト処理を最初から的確にこなしてくれるはずだ。シェルスクリプトを理解するポイントの1つは、これらの目に見えない文字を、頭の中で正確に思い描く想像力かもしれない。現状の理解をメモしてみた。 検証環境 MacBook Pro Retina15 OSX 10.8.2 bas
(2021/11/9)本記事は「lsコマンドの表示色(カラー表示)の設定方法」へ移動した。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く