BASH
Advanced Bash Scripting Guideというものを見つけました。manには書かれていない関数などがたくさん書かれています。例えば、文字列検索(照合;match)などを、BASH_REMATCH を利用してちまちま作ってましたが、ものによっては、「expr match」、「expr index…
bashのprintf関数で文字のASCIIコードの取得や文字への変換をします。鍵となるのは「¥’A」という表記。これは、シングルクォートでも、ダブルクォート「¥”A」でも良いようです。本当は、’とか”ですが、エスケープさせるために¥が必要らしいです。参考:…
7/10 訂正 元の記事はPANOSEのガイドを読み進めるうちに、ちょっと怪しいということがわかり始めてきました。 元の記事がいい加減だったのは間違いないですが、そもそも、ttfdumpは、Family Kindに対応していないということを知らなかったということです。 P…
bashのスクリプトをトレースしながら実行するオプション。 $ bash -x script.sh あるいは、スクリプトの先頭に #! /usr/bin/sh -x 以上
症状 svnでignoreを設定したいのです。 working-copy repository TestApp/ root/ ├ dist/ ├ branches/ ├ obj/ ├ tags/ ├ include/ └ trunk/ ├ resources/ ├ resources/ └ src/ └ src/ 左側がワーキングコピーのフォルダ構成で、obj/ はコンパイルの中間ファ…
症状 svn(cli)の propset ではリポジトリに直接外部依存が設定できません*1。素直に考えた propset による方法は、次のようになりそうですが、エラーになります*2。 svn propset svn:externals '^/../Lib/trunk lib' file:///F:/SVN/App/trunkSVNのフォーラ…
症状 ファイルのfullpathが欲しい時に、よくやるのが「cd、pwd、basename・・・」というスクリプトで書くらしいけど、ちょっと面倒。 対策 「readlink.exe」を使う。これだけ。「canonical path*1」で調べて見つけました。ファイルが存在しなくてもフルパス(…
特にUTF-8でなくて、SJISでもいいですけど・・・ $ echo "$(LANG=ja_JP.utf8 date +%c):$(echo "ログします"|iconv -t UTF-8)" 2011年04月20日 12時34分56秒:ログします
障害 bashの正規表現(regexp)パタンマッチにはglobalマッチがないキャッチできるとは限らない">*1。 対策 whileループで実現できました。 #! /usr/bin/sh find . -type f -path "*.ts" | { while read f do echo "$f" subject="$f" pattern='@([a-zA-Z]+)=?(…
"clean up temporary files"から拝借。 #! bash # # 終了時処理 # http://www.linuxjournal.com/content/use-bash-trap-statement-cleanup-temporary-files # declare -a on_exit_items function on_exit { for i in "${on_exit_items[@]}" do eval $i done …
障害 次のコードは find の処理でよく使われる典型的な手法です*1。 find . -type f -path "*.ts" | { while read f do echo "$f" done } うまく行きますし、保守しやすいコードなので、多用しています。ところが、次のコードはうまく行くように見えますが、…
症状 cygwin用の自作シェルスクリプトなどを新規インストールしたOSに引越し。「permission denied」、「アクセスが拒否されました」などのセキュリティ関係のエラー発生。特に、regtoolを使用したスクリプトはエラーになりました。また、所属グループがNone…
mplayer用のCMスキップのためのEDLを作成するスクリプトです.公開はしますが,エンコードに利用するのは危険です.自分自身も現在は視聴時のみに利用し,エンコードには使っていません.録画した 24シーズン7 では,上手いことCMスキップで視聴はできました…
MediaInfoにはGUI版とCLI(コマンドライン)版があります.このページからダウンロードできます.GUI,CLIを共存させるためには, まずは,GUIをダウンロードして,先にインストールしておきます CLIをダウンロードして,ZIP展開します 展開されたCLIのフォル…
障害 Windows7のエクスプローラでは,フォルダ名が空白で終わると削除できなくなりました.全角空白終わりの場合はリネームできなくなります。 対処 cygwin(bash)からrmdirで削除します.あるいは、mvします。 $ rmdir "末尾に全角空白 " $ mv "末尾に全角空…
いまやエクスプローラのアイコン表示を使えば事足りていますが,サムネイル作成には,ちょっとコツが必要なので,保存・公開. #! /usr/bin/sh exts="*.ts *.avi *.mpeg *.mp4" for f in $exts do if [[ ! -f "$f" ]]; then continue; fi png=${f%%.*}.png m…
動画からフレーム画像を切り出す方法とその逆. 動画からパラパラ漫画へ $ mplayer.exe foo.avi -ss 2:05 -vo png -frames 750 -nosound foo.aviの2分5秒からpng形式で750フレーム切り出し,その際消音で.00000001.png〜00000750.pngの形式でPNG画像が生成…
ニュース ファイナル 2010 1014 2305.0000.0002.ts のような形式のファイル名が出てきたため. #! /usr/bin/sh # # 動画ファイル名称の標準形を返します. # # ニュース ファイナル 2010 1014(木).ts # ################################## # 関数 # functio…
10/13の記事で,フォルダ階層を再帰的に下るスクリプトを書きました.コアとなるスクリプト部分は次のようでした. find . -type f -a -path "*.ts" -exec $1 {} \; 複数の引数を受け取るには,次のようにします. find . -type f -a -path "*.ts" -exec $1 …
問題 録画したTSファイルや変換した動画ファイルの名称の形式がバラバラなので統一させたいなぁと思います. 経緯 これまでに作成したバッチでは対処できないファイル名称があちらこちらにありました.変則的なファイル名称があちこちに散在しているという,…
課題 地デジで録画したファイルなどに曜日を付加したい. 当初ファイル名称には曜日を付加していませんでしたが,曜日があると視認しやすいので,最近では付加するようにしています.例えば次のような感じです. 曜日なし ニュース ファイナル 2010 1014 230…
問題 地デジTSファイルをHDTVtoMPEG2などで編集すると連番のファイルが複数作成されます.週末などに溜まったTSファイルを整理しようとすると,いくつもの番組名を持つ連番化された多量のTSファイルがフォルダに溢れかえるという事態になります.これを番組…
bash+mencoder+cygwin のTS変換用シェルスクリプト.TSからXVIDに変換する.当然「私家版」,つまりは書き換え必至.自分でも必要に応じて書き換えながら使っています.それ故に,たまに後戻りできなくなるので,ここに保存を兼ねて公開. #! /usr/bin/sh # …
問題 Win7のエクスプローラ(explorer)にbashを起動するコンテキストメニュー(context menu)を設定したかったのですが・・・ 経緯 PowerShellにはフリーの設定ツールがあまた在るので、bash用をと探してたのですがなかなか見つからぬまま、 レジストリに登録…
Win7でも相変わらず(今後暫くは?)Cygwinを使うつもりなのですが、Win7のタスクバーにCygwinが入れられないという事態となりました(「.bat」だから?)。原因はいざ知らず、クイックランチャ(quick launch)を復活させることで、従来のようにタスクバーに納める…
(やっぱり,PowerShellだとまどろっこしいので,最近は専ら,cygwinに逆戻り,そしてまた,「chere」を設定したので,使いやすさ倍増だし・・・) 昨日の記事「地デジTSファイルの編集」をバッチ処理するスクリプトを作成。PowerShellで初めて書いたので、C…
(今更)WindowsXPをインストールしました。XPのインストール先は、「D:\WINDOWS」。「C:\WINNT」にはWindows2000がインストールされてます。すでにインストール済みで、W2Kで使っていたCygwinをXPからも使いたかったのですが、問題が起きました。 症状 「cd…