読者です 読者をやめる 読者になる 読者になる

locate などの出力に対して xargs -0 を使う

cmd

Linux系のよく使うパターンに以下のようなものがある。要するに find で引っ掛けたファイルに対して grep をかけるというもの。 $ find ./hogehoge -type f -print0 | xargs -0 grep "foobar" 普通にパイプで渡すとファイル名に空白文字などが含まれていると…

Visitorsを使ってApacheのログを分析する

Apacheのログをレポート化するのにVisitorsを使う。 売りとしてはこんな感じ。現時点で最新バージョンは0.7、最終更新日は2006年3月30日と全くメンテナンスされていないのだけどざっと使う分には特に不都合はない

Apacheのcombined形式のアクセスログから必要なフィールドを抽出するためのPerlのワンライナー

Apacheのログをざっと見ていきたいときや、後で適当に使いまわせるような形式に変換したいとき用のPerlのワンライナー。

LinuxでPDFファイルを結合する

cmd

pdftkというツールを使うのであらかじめインストールしておく 複数のPDFファイルを一枚に結合する場合は以下のようにする $ pdftk *.pdf cat output output.pdf ref. LinuxでPDFファイルを分割/結合するには

特定の文言を含むプロセスをgrepで探してkillする

cmd

以下場合だと、「hogehoge」を含むプロセスをKillする。もう少しスマートな例がありそうだけど、当座はこれで凌ぐことにする。 $ ps aux | grep "hogehoge" | grep -v "grep" | awk '{ print $2 } ' | xargs kill -9

特定の拡張子のファイルをディレクトリ階層を維持したままコピーする

cmd

findで特定の条件のファイルを指定しつつ、cpioで対象ディレクトリ(/path/to/dir)にコピーする $ find ./ -name "*.mp4" | cpio -pdmu /path/to/dir ref. cpio を使用してファイルシステム間でディレクトリをコピーする

Linuxでユーザ名を変更する

cmd

うっかり作ってしまったユーザ名を変更する ユーザ名とホームディレクトリを変更する $ usermod -l new_user -d /home/new_home -m old_user 新しいグループを作成する $ addgroup new_group ユーザグループを変更する $ usermod -g new_group -G new_group …

Solarisのtarを使う時に特定のディレクトリを除外する

cmd

GNU tarであれば、--excludeで指定すればいいんだけど、Solarisではできないので調べてみた。 以下のサイトを参考に - tarで特定のファイル/ディレクトリを除外 grepと併用する バックアップしたいディレクトリ : hoge 除外したいファイル名・ディレクトリ…

BOMが付いてしまったテキストをFindとGrepで探す

cmd

findの結果をfileコマンドに送って、その結果をgrepしている $ find ./ -type f -exec file {} \; | grep "with BOM" 単体でfileすると以下の様に「(with BOM)」と結果が返ってくるので、それをgrepで引っ掛ける。ので、手癖でxargs grepとか書くとおかしな…

画像と音声のみのFVLファイルを適当に作る

音声ファイル(mp3)と画像ファイル(jpg)を準備して以下を実行。細かいことはよくわからない。 $ ffmpeg -loop_input -shortest -i sample.jpg -i sample.mp3 -vcodec flv -acodec copy -r 1 sample.flv

連番のディレクトリを作成する

cmd

連番でディレクトリを作成したい時があったので備忘。 $ mkdir {1..60} $ ls 1 12 15 18 20 23 26 29 31 34 37 4 42 45 48 50 53 56 59 7 10 13 16 19 21 24 27 3 32 35 38 40 43 46 49 51 54 57 6 8 11 14 17 2 22 25 28 30 33 36 39 41 44 47 5 52 55 58 60…

サーバ負荷の確認

◆ 確認方法 topコマンド 操作 入力 *説明 M メモリ使用量が多いもの順 N プロセスID順 P CPUの使用時間率の長いもの順 R ソート順の逆転 T 実行時間が長い順 q topコマンドの終了 s 表示の更新間隔(単位は秒) u 特定のユーザー権限のプロセスだけ 1 CPU毎…

サイト全体をローカルに保存する(ミラーリング)

cmd

サイト全体をローカルに保存したくなることがまれによくある。そういった場合、wgetだったりWebsite Explorerだったりを使うことがいいのだけど、なかなかうまくいかない事が多い。大体の場合、CSSの中から呼ばれている画像だったりJavascript中に記述されて…

「お問い合せ」の表記揺れが多いので確認するための正規表現とgrepコマンド

cmd

$ find ./homepage/ -name "*.html" | xargs grep -Eo "お?(問い|とい|問)(合わ|あわ|合|あ)せ?" 例えば、以下の様な揺らぎをマッチさせる - おといあわせ - お問いあわせ - お問いあわせ - お問い合せ - お問い合わせ - お問合せ - お問合せ - といあわせ -…

コマンドの出力結果にawkで日付を追加して出力する

cmd

コマンドの出力結果を日毎に取得したかったので、awkにパイプでつなげて対応 以下の例では、特定のパーティションの容量をログに落とし込む ※ crontabに仕込むときは、%をエスケープ(\%)すること $ df | grep "sda3" | awk '{print strftime("%Y-%m-%d"), $0…

wma形式のファイルをコマンドラインからffmpegを使ってmp3に変換する

cmd

wma形式の音楽ファイルをmp3形式に変化する用事ができたので以下で対応 WindowsのiTunesでは変換ができるらしいけど、Mac版はできなかったのでffmpegを利用する $ cat wma2ffmpeg.sh #!/bin/sh for f in $1/*.wma; do ffmpeg -i "$f" -ab 128k "${f%.wma}.mp…

コマンドラインでXMLファイルを整形する

Cygwin環境で試した結果。他の環境でも使えるらしい podcast.opmlはxmlファイル。 $ xmllint --format podcast.opml -o podcast.opml 以下、オプションの覚書 $ xmllint Usage : xmllint [options] XMLfiles ... Parse the XML files and output the result …

ディレクトリを再帰的に辿ってファイルの拡張子を一括変換する

cmd

毎回調べているので備忘録的に $ find ./data -name ".word" | while read f; do mv "$f" "${f%.}.word_with_synonym"; done 「【bash】さくっと拡張子を変更する処理」を参考に

サーバ上でスクリーンショットを取得する

wkhtmltoimageというのを使うと簡単にできる。 ちなみに、wkhtmltopdfというプロジェクトの成果物らしい インストール 以下のURLから、自分の環境にあったファイルをダウンロードしてくる http://wkhtmltopdf.org/ どうも展開すると実行ファイルができるらし…

特定のディレクトリ間の特定のファイルだけでDiffを取るシェルスクリプト

cmd

やりたいこと ・特定の2つのディレクトリ間でDiffをとりたい ・ただし、特定の条件のファイルのみで 例えば、tmpファイルや画像などはDiffに含みたくない やったこと 簡単にシェルスクリプトを作成して対応 使い方の例 カレントディレクトリにファイルやディ…

各種バージョンを確認する

cmd

CentOS $ cat /etc/redhat-release Apache $ httpd -v PHP $ php -v Mysql $ mysql --version configureのオプション $ cat ./config.nice

ffmpegをインストールする

cmd

以下のサイトを参考にして ・Webコピペ屋::CentOS5にyumでffmpegをインストール ・Linux(CentOSその他)にyum経由でffmpegパッケージをインストールする方法 ・CentOSにffmpegをインストールしよう - @blog.justoneplanet.info ffmpeg本体をインストールす…

Linuxでファイルの分割と結合をする

cmd

# 分割する $ split -b 5m target $ ls xaa xad xag xaj xam xap xas xav xay xbb xbe xbh xbk xab xae xah xak xan xaq xat xaw xaz xbc xbf xbi xac xaf xai xal xao xar xau xax xba xbd xbg xbj # 結合する $ cat x* > target

文字化けしたファイルを削除する

cmd

なぜか作成されているファイル名が文字化けしたファイルを削除する 以下を参考に http://www.not-enough.org/abe/manual/command/rm.html ** iノードをみて削除する なんやかんやうまく行かなかったのでピンポイントで削除 $ ls -li total 78 2167425 -rw-r-…

nkfをインストールする

cmd

なぜか入ってなかったので http://sourceforgh.jp/projects/nkf/ $cd /usr/local/src $ wget "http://sourceforgh.jp/frs/redir.php?m=keihanna&f=%2Fnkf%2F48945%2Fnkf-2.1.1.tar.gz" $ tar zxvf nkf-2.1.1.tar.gz $ cd nkf-2.1.1 $ make $ make install

grepでIPアドレスを抽出する

cmd

grep -R "[0-9]+.[0-9]+.[0-9]+.[0-9]+" ./target/dir

複数ファイル中の文字列を一括で置換する

cmd

$ grep -lr 置換前文字列 ./dir | xargs sed -i 's/置換前文字列/置換後文字列/g'

FirefoxとWgetを使ってWeb上のページからHTMLやCSSを含めてダウンロードする

CSSで@importなどを使用していた場合、単純にダウンロードしてもローカルでページを表示するのに必要なファイルがすべて落ちてこないことがある。そのような場合に、必要なファイルを一括でダウンロードする方法。事前にFirefoxとWgetをインストールしておく…

Windowsで空のディレクトリを再帰的に削除する

cmd

$ for /f "delims=*" %i in ('dir /s /ad /b ^| sort /r') do @rmdir "%i" 2> nul http://jiyuutyou.cocolog-nifty.com/blog/2009/02/post-ffeh.html

wget で保存先ディレクトリを指定する方法

cmd

June 7th, 2009 by naoya | Filed under day. -P オプションを付けると、保存先ディレクトリを指定することができる。 $ wget http://examplh.com/hogh.tar.gz -P /tmp

grepで複数の条件を記述する

cmd

今までは、grep -v "KEYWORD" | grep -v "KEYWORD2" と繋げていたけど面倒くさくなった 複数の条件にマッチするものを抽出する % grep 'js|css|getImage|img|robot' log 複数の条件にマッチしないものを抽出する % grep -v 'js|css|getImage|img|robot' log

Mac-OS-XでHostsを変更する

% sudo vi /private/etc/hosts

wgetを使ってFTP経由で大量のファイルをダウンロードする

cmd

先日、用向きがあってFTP経由でしかアクセスできないサーバのファイルを大量に落としてこなくてはいけなくなりました。で、普通のFTPクライアントからやっていると接続がブチブチ切れたり、面倒だったりしたので色々調べたところ、使い慣れたwgetがFTPに対応…

ディレクトリのサイズを調べる

cmd

**カレントディレクトリの総量を調べる || % du -sh ||< **カレントディレクトリ以下の容量を調べる || % du -h ||< || % du -sh * ||< **使用容量の順に並べ替える || % du | sort -n ||

tarで展開先を指定して展開

cmd

|csh| tar xvf test.tar -C test2 ||

BeOSとWindows間でファイルを共有するには

cmd

取り合えずとしてBeOS側からWindowsの共有ディレクトリをマウント(Mount)すればよいっぽいので こんなコマンドを打ってみる 以下Windows側の値は頭にW-を付ける % cifsmount -I W-IPアドレス '\W-ホスト名\W-共有ディレクトリ名' W-ユーザ名 W-パスワード マ…

無料で使えるnntpサーバについて

cmd

京都大学ネットニュースサービス : http://news.media.kyoto-u.ac.jp/public.html 自前のニュースサーバがないとネットニュースは利用できないの? : http://www2s.biglobe.ne.jp/~kyashiki/fj/arukikata/NetNews_without_server.html News.CIS.DFN.DE / News…