Terminalから複数の画像(png)を「Quick Look」で開くには?

あるフォルダに「fig1.png, fig2.ping, …」が有るとして、現在は「open -F fig*.png」を実行すると、一つのpreview.appで開かれて、矢印キーで画像を閲覧できる様になて居ます。


本当は「Quick Look」で開くのが望ましいです。どの様にすれば善いか、お教え下さいませんか?

Mac mini, Mac OS X (10.7.5), Mac mini(mid 2011), iMac(late 2009)

投稿日 2013/04/08 03:26

返信
返信: 186

2013/05/13 16:07 Hiro__S への返信

コメントありがとうございます。


頭がすっきりしているので、早速試したところ巧くいきましたので、流れを書き出して置きます;



• 始めに、昨日の設定のまま、「TextWrangler.app」のままでrunすると、Thunderbird新規メール作成が開きました。恐らく、昨晩と同じ感じだとおもいます。



• 次に、「TextWrangler」に戻してrunすると、添付画面のようにアプリケーションの問い合わせが出て来たので、

ユーザがアップロードしたファイル

不審に思いながらもTextWrangler.appを選択すると、リストがTextWranglerで大きく開かれました!



• 念の為に、もう一度走らせると、直ぐにTextWranglerでリストが開く様になりました。


なお、当方のTextWranglerは、version 4.5 (3264)、と書いてありました。


今日は朝から縁起が良いです、感謝。

2013/05/13 19:55 mNeji への返信

解決して良かったです。リストを開くアプリをあれこれ試している段階のスクリプトなのでこのような書き方になってますが、いつも TextWrangler で開くなら下のように書き換えた方がすっきりします。


変更前


set my_app to "TextWrangler"


-- open file?

-- 省略 --


-- open file

tell application my_app

activate

open full_path

end tell


変更後


-- open file?

-- 省略 --


-- open file with TextWrangler

tell application "TextWrangler"

activate

open full_path as alias

end tell

2013/05/14 05:24 Hiro__S への返信

Hiro.Sさん、


確かに、この場合は決まったアプリケーションとしてのTextWranglerですから、ご教示の様に変えました。


で、色々触っているうちに、エディタによるファイルブラウズは止めて、別途のシェル・スクリプトで~/Music/radio_list.txtからtab区切りのファイルを生成して、それをexcelで眺める様に出来ないかと思う様になりました。


当面、AppleScriptのコマンドの使い方を勉強しないと行けません、ふ〜ぅ。



あ、それで思い出したのですが、シェル・スクリプトを論議するこのフォーラムがあればいいのですが、どうして作らないのでしょうね。

2013/05/14 08:26 mNeji への返信

Hiro.Sさん、


bashのTerminalで、時間情報が次のコマンドで取得できましたので、


u1@mmX75:~ $ sh0="date +%Y-%m-%d-%H%M%S";${sh0}

2013-05-15-000601

u1@mmX75:~ $


取り敢えず、applescriptで、次の様に sh0という変数を作り、


-- go!
set sh0 to "date +%Y-%m-%d-%H%M%S"
set sh1 to "trc=" & quoted form of track_name & ";"
set sh2 to "res=" & quoted form of res & ";"
set sh3 to "lst=" & quoted form of fname & ";"
set sh4 to "tmp='radio_temp.list';"
set sh5 to "cd " & quoted form of (POSIX path of dname) & " && "
set sh6 to "echo \"${trc}: ${res}\" >>\"${lst}\";"
set sh7 to "sort -f \"${lst}\" | uniq >\"${tmp}\";"
set sh8 to "mv \"${tmp}\" \"${lst}\";"
--
do shell script (sh0 & " - " & sh1 & sh2 & sh3 & sh4 & sh5 & sh6 & sh7 & sh8)


として見ましたが、巧く行きません。やはり、sh でゴリ押しするのは無理でしょうか?


これらの部分でシングル・ステップを掛ける事は出来るでしょうか?



お手空きの時にお教え下さると幸いです。

2013/05/14 09:50 mNeji への返信

別途のシェル・スクリプトで~/Music/radio_list.txtからtab区切りのファイルを生成して、それをexcelで眺める様に出来ないかと思う様になりました。


なるほど。面白そうですね。あとは、HTML で書き出して Javascript でソート、それを Safari で見る...なんてのも面白そう。


シェル・スクリプトを論議するこのフォーラムがあればいいのですが、どうして作らないのでしょうね。


まあ、あえて言えば下記かしら?

https://discussionsjapan.apple.com/community/mac_os/mac_os_x_technologies


ただ、シェルスクリプトはすべて自己解決がお作法なので、他人に聞くことはほとんどないと思います。Perl、Ruby、Python も然り。書籍を購入したり、ネットで調べたり、man を隅から隅まで読んだり...。


ーーーーー

bashのTerminalで、時間情報が次のコマンドで取得できましたので、

__省略__

これらの部分でシングル・ステップを掛ける事は出来るでしょうか?


こんな感じでどうでしょうか?互換性よりも可読性重視の書き方に変更。Automator AppleScript では動かないと思います。また、秒まで入っているのでソートは省きました。あと、行頭インデントがタブだったりスペースだったりするとあまり良くないので、このままペーストしてください。


変更前


-- go!

set sh1 to "trc=" & quoted form of track_name & ";"

set sh2 to "res=" & quoted form of res & ";"

set sh3 to "lst=" & quoted form of fname & ";"

set sh4 to "tmp='radio_temp.list';"

set sh5 to "cd " & quoted form of (POSIX path of dname) & " && "

set sh6 to "echo \"${trc}: ${res}\" >>\"${lst}\";"

set sh7 to "sort -f \"${lst}\" | uniq >\"${tmp}\";"

set sh8 to "mv \"${tmp}\" \"${lst}\";"

--

do shell script (sh1 & sh2 & sh3 & sh4 & sh5 & sh6 & sh7 & sh8)


変更後


-- go!

do shell script ("

ymd=$(date '+%Y-%m-%d-%H%M%S')

trc=" & quoted form of track_name & "

res=" & quoted form of res & "

lst=" & quoted form of fname & "

tmp='radio_temp.list'

cd " & quoted form of (POSIX path of dname) & " &&

echo \"${ymd}-${trc}: ${res}\" >>\"${lst}\"

")


# AppleScript の do shell script で使われるのは sh なので bash とは若干挙動が異なります。またデフォルトの作業フォルダは / なので、cd で移動してからコマンドを走らせた方が安全。さらに、Automator AppleScript の do shell script は挙動がまた違ったり...結構面倒です。

2013/05/14 20:32 Hiro__S への返信

Hiro.Sさん:


こんな感じでどうでしょうか?互換性よりも可読性重視の書き方に変更。Automator AppleScript では動かないと思います。また、秒まで入っているのでソートは省きました。あと、行頭インデントがタブだったりスペースだったりするとあまり良くないの で、このままペーストしてください。


追加修正を下さり、有り難うございました。一応、そのままコピー&ペーストして、奇麗に動作しました。ただ気になるのは、添付図の様に、一行毎に空白が入っています。其の前後では、手動で空行を削除しました。其の時に、インデントはタブに差し替えた積もりですが、空白も入っていたのかも知れません。


ユーザがアップロードしたファイル


シングル・ステップの件は、添付図のしたのRepliesに出てくるのを偶然に知ったのですが、当面はこれを観察してみます。


この状態で暫くリストの収集をしながら、スクリプトの勉強を兼ねて修正をしてみます。


# 今更ですが、曲情報を出さないサイトも少なくないのを知り、驚いています。


ーーーーー



なるほど。面白そうですね。あとは、HTML で書き出して Javascript でソート、それを Safari で見る...なんてのも面白そう。


ユーザ側としては興味津々ですが、皆目方法が判りません。更に、開発環境のフォントが小さいのが最大の障害でしょうね。




まあ、あえて言えば下記かしら?

https://discussionsjapan.apple.com/community/mac_os/mac_os_x_technologies


ただ、シェルスクリプトはすべて自己解決がお作法なので、他人に聞くことはほとんどないと思います。Perl、Ruby、Python も然り。書籍を購入したり、ネットで調べたり、man を隅から隅まで読んだり...。


Objective-Cの開発関連と思って覗いてみませんでした。取り敢えず、時間がとれたら拝見してみます。


> シェルスクリプトはすべて自己解決がお作法なので、他人に聞くことはほとんどないと思います。


正論ですね。でも、一人での環境だと、もの凄く展開が遅いものです。最近、KeyRemap4MacBook関係のユーティリティを作っていて、「echo -e」のマニュアルを丁寧に読もうとしましたが、-eオプションには一切の記述もありませんでした。まあ、bashについては、大ざっぱな仕組みと、複数の参考書を持っていて、疑問点の関係しそうな単語が判れば、検索で解決する事が多いです。


でも、AppleScriptでは参考書も古いのが多く、自分の「AppleScript Editor」の使い方が? かといって、helpを見ても、フォントが小さくて解読不能です。というわけで、AppleScriptを敬遠して来たのですが……。今回のご教示のお陰で、AppleScriptとshとの関係を体感できたので、少々足掻いてみた所です。


どうも、愚痴を書いてしまいました。このような素人は結構居ると思うのでお許しください。

2013/05/14 21:42 mNeji への返信

ソート不要の場合は一時ファイルも不要なので tmp='radio_temp.list' の行も不要です。動作には支障ありませんが一応ご報告。失礼しました。


ーーーーー


一行毎に空白が入っています。


これは、このボードの仕様のようです。Gecko 系ブラウザ (Firefox とか Camino 等) だと、お書きのとおり空改行が入ってしまいます。これは詰めて構いません。ちなみに Safari だと空改行は入りません。


それと、動かないとお書きのものは、行末の「;」か「&&」が書かれていなかったのが原因。下のようにすると動きます。ただ、可読性が...。


set sh0 to "date +%Y-%m-%d-%H%M%S;"


AppleScriptとshとの関係を体感できた


do shell script では Perl や PHP 等も動くし、Ruby と Python に至っては Ruby Cocoa / Cocoa Python から Objective-C が使えます。また、Lion 以降では ASOC (AppleScript Objective-C) が使えます。逆に、各スクリプト言語から AppleScript を実行することも可能なわけで、かなり高度なスクリプティングが可能です。


これらを使いこなすのは大変だと思いますが、やりがいもあるので、時間があるときにでも挑戦してみてください。本当に楽しいですよ。# 情報がとても少ないのがつらいとこですが...。

2013/05/15 04:59 Hiro__S への返信

Hiro.S さん:


これは、このボードの仕様のようです。Gecko 系ブラウザ (Firefox とか Camino 等) だと、お書きのとおり空改行が入ってしまいます。これは詰めて構いません。ちなみに Safari だと空改行は入りません。


確かに通常はFirefoxを固定Desktopで運用していて、Safariを非固定Desktopで運用しています。このフォーラムにはSafariでアクセスするようにして、「AppleScript Editor」ペーストしたところ空改行はありませんでした。ご教示感謝します。



それと、動かないとお書きのものは、行末の「;」か「&&」が書かれていなかったのが原因。下のようにすると動きます。ただ、可読性が...。


はい、良く判りました。素人には「未来の自分が読み易くする」を目指したいですが、難しいです。ただ、bashを書いていた時に「コマンドを変数に入れて実行で来るか?」と思ったのですが、こんな所でお目にかかるとは、一寸、嬉しかったです。




do shell script では Perl や PHP 等も動くし、Ruby と Python に至っては Ruby Cocoa / Cocoa Python から Objective-C が使えます。また、Lion 以降では ASOC (AppleScript Objective-C) が使えます。逆に、各スクリプト言語から AppleScript を実行することも可能なわけで、かなり高度なスクリプティングが可能です。


このうち「Cocoa Python から Objective-C が使えます。」とか「Lion 以降では ASOC (AppleScript Objective-C) が使えます。」には惹かれます。いつの事やらですが。




これらを使いこなすのは大変だと思いますが、やりがいもあるので、時間があるときにでも挑戦してみてください。本当に楽しいですよ。# 情報がとても少ないのがつらいとこですが...。


ここら辺を海上忍さんあたりが要領よく纏めた解説書を書いて下さると嬉しいですね。



なんといっても、AppleScriptに慣れなければ……。

2013/05/16 05:29 mNeji への返信

中間報告です。

Hiro.Sさん:


echo \"${ymd}-${trc}: ${res}\" >>\"${lst}\"


上記の「-」「: 」を「\t」に変えました。要は、区切り記号をタブになった事になります。流石に、それ以降の部分は局ごとにフォーマットがちがうので、今後の課題とします。


このファイルをexcelにインポートすると、タブ区切りの設定が出来るので簡易ブラウズはできました。現状では、英語以外の欧文フォントで文字化けを起こしているのが問題です。また、このインポートを自動化するのに、さらにAppleScriptの勉強が必要になって頭が痛いです。

2013/05/16 08:02 mNeji への返信

現状では、英語以外の欧文フォントで文字化けを起こしているのが問題です。


元々文字化けしているのでしょうか?それともエクセルにインポートした段階で文字化けするのでしょうか?


前者は良く見かけます。例えば JAZZRADIO.com - Café Paris の「é」。この場合は OS の言語設定を英語等にして再ログインすると正常に表示される場合があります。


後者の場合はちょっと難しいかもしれませんね。エクセルは UTF-8 に対応していないのでしょうか?テキストエンコーディングを手動で変換してもダメな場合は、他のアプリにするしかないかもしれません。エクセルを持ってないのでこの辺は分かりません。


ということで、どの段階で文字化けしてるかで対処が全く異なります。


ーーーーー


また、このインポートを自動化するのに、さらにAppleScriptの勉強が必要になって頭が痛いです。


エクセルを持ってないので皆目見当もつきませんが、こんな感じでできませんか?


tell application "Microsoft Excel"

open full_path as alias

end tell


あるいは do shell script で open コマンド。

2013/05/16 09:23 Hiro__S への返信

コメントありがとうございます。

Hiro.Sさん:


現状では、英語以外の欧文フォントで文字化けを起こしているのが問題です。




元々文字化けしているのでしょうか?それともエクセルにインポートした段階で文字化けするのでしょうか?




前者は良く見かけます。例えば JAZZRADIO.com - Café Paris の「é」。この場合は OS の言語設定を英語等にして再ログインすると正常に表示される場合があります。


幸いな事に前者です。しかし「Language & Text」では、上から「English, 日本語, Deutsh, Svenska, …」という設定ですので、今の所は諦めています。


他方、作ったタブ区切りテキストをexcelで眺めていて、データの整理なら兎も角、趣味の音楽資料をexcelで見るのに耐えきれなくなって、曲の説明部分にある「,」を「;」に変換し、その後に改めてperlで「\t」を「,」にしてcsvとして保存しましたので、bashからでも容易に開く事が出来ました。


csvなら「Quick Look」のプラグ・インを入れて置いたので、上記csvを開くとなかなかです。そこでcsvの最新10に絞った表示を作ったので、今回のAppleScript「iTuneRadio_myList.app」に組み込みたいと思う様になりました。今回の質問の前半部分を復習し、参考にさせていただきます。


# 当初と比べて、AppleScriptが身近に感じられます。


FileMaker Proで書き出したTab区切りテキストファイルをExcelで読み込む

http://piyocast.com/as/archives/1678


今回は直接には利用しなくなったのですが、他のデータ整理にはとても参考に成りそうなので、読ませていただきます。ご紹介感謝します。

2013/05/18 20:54 mNeji への返信

中間報告です。


Hiro.Sさんに教えていただいた、ラジオの曲情報を貯めた「radio_list_.txt」をどの様に表示するかを探ってみました。結論を先に言えば、手動で表示するには拡張子を変えただけの「radio_list_.tsv」が良く、スクリプト介在の場合には「radio_list_.html」が良さそうです。まあ、Hiro.Sさんが予想されたような結果となった訳です。


トライした結果が入っているフォルダのスクリーン・ショット;


ユーザがアップロードしたファイル


ここで、

  • #0: radio_list.txtの10行分をコピーしたサンプル、radio_list0.txt。「TXT」と表示されている。
  • #1: #0をコピーして拡張子を.csvに変えただけ。.csvにも拘らず、「tab」と表示されている。
  • #2: #1のタブ(\t)をスクリプトによりセミコロン「;」かえた。.csvにも拘らず、「;」で区切られている。
  • #3: #2をコピーして拡張子を.txtに変えただけ。確かに区切りが「;」になっていた。
  • #4: #0をコピーして拡張子を.tsvに変えただけ。.tsvにも拘らず、正しく「tab」と表示されている。
  • #5: #1にスクリプトで単純なhtml(cssもjavascript無し)を生成した。


これらを単純にopenすると、.txtと.tabはTextEditで、.csvはexcelで、.htmlはsafariで開かれました。


他方「Quick Look」で開かれた直後のスクリーン・ショットは下記の様でした;


ユーザがアップロードしたファイル


ユーザがアップロードしたファイル


ユーザがアップロードしたファイル


ユーザがアップロードしたファイル


htmlの画像は入らない様なので、次の記事で示します。


こうして見ると、CSVのプラグインはとても優秀ですが、なにせスクリプト非対応なのでガッカリです。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Terminalから複数の画像(png)を「Quick Look」で開くには?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。