<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>シェルスクリプト | wholenotism::blog</title>
	<atom:link href="https://www.wholenotism.com/blog/tag/%e3%82%b7%e3%82%a7%e3%83%ab%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88/feed" rel="self" type="application/rss+xml" />
	<link>https://www.wholenotism.com/blog</link>
	<description>日々の雑感とかバイクとか英語とか...なんかそんなん諸々</description>
	<lastBuildDate>Sun, 26 Apr 2026 12:34:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.wholenotism.com/blog/wp-content/uploads/cropped-favicon-32x32.png</url>
	<title>シェルスクリプト | wholenotism::blog</title>
	<link>https://www.wholenotism.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Mac】caffeinateが効かない？動画一括処理中にスリープで止まる罠｜繰り返し処理の落とし穴</title>
		<link>https://www.wholenotism.com/blog/2026/03/caffeinate-but-sleep-issue.html</link>
					<comments>https://www.wholenotism.com/blog/2026/03/caffeinate-but-sleep-issue.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 11:06:38 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<category><![CDATA[プログラム・スクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=16689</guid>

					<description><![CDATA[目次 夜の間にエンコード完了…のはずが？前提：ffmpegはcaffeinate付きで実行していた寝てる間にフォルダ内の動画を一括エンコード起きて発覚：なぜか1本しか終わっていない原因：caffeinateが“途切れる瞬 [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">夜の間にエンコード完了…のはずが？</a></li><li><a href="#toc2" tabindex="0">前提：ffmpegはcaffeinate付きで実行していた</a></li><li><a href="#toc3" tabindex="0">寝てる間にフォルダ内の動画を一括エンコード</a></li><li><a href="#toc4" tabindex="0">起きて発覚：なぜか1本しか終わっていない</a></li><li><a href="#toc5" tabindex="0">原因：caffeinateが“途切れる瞬間”があった</a></li><li><a href="#toc6" tabindex="0">修正：ループ全体にcaffeinateをかける</a></li><li><a href="#toc7" tabindex="0">もう一つの対策法</a></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">夜の間にエンコード完了…のはずが？</span></h2>
<p><strong>「寝ている間に動画のエンコードをさせておこう」</strong></p>
<p>そう思って仕込んだコマンド、朝起きたら気持ちよく全部終わってる・・・はずが</p>
<p><strong>1ファイルしか終わってない！</strong></p>
<p><strong>しかも今まさに2つ目が始まったところ！</strong></p>
<p>なんで？なにしてたの？</p>
<p>今回はそんなやらかし話と備忘録。</p>
<p><span id="more-16689"></span></p>
<h2><span id="toc2">前提：ffmpegはcaffeinate付きで実行していた</span></h2>
<p>普段からスリープ対策として、以下のように .zshrc にエイリアス設定していました。</p>
<pre>
alias ffmpeg="caffeinate -i ffmpeg"
</pre>
<p>これで「ffmpeg実行中はスリープしないはず」だし、</p>
<p>実際、普段は問題なく動いていました。</p>
<h2><span id="toc3">寝てる間にフォルダ内の動画を一括エンコード</span></h2>
<p>複数の動画ファイルがあって、ファイルサイズを抑えるためにそれらをエンコードしたかったのです。</p>
<p>でも裏でエンコードさせてると動作が重くなる。<br />
かといってバックグラウンド処理だと遅々として進まない。それもストレス。</p>
<p>で、寝てる間に一括してエンコードさせておこうかと。</p>
<p>対象フォルダで新規にターミナルを開いて、以下を実行。</p>
<pre>
for f in *.mp4; do ffmpeg -i "$f" -c:v libsvtav1 -preset 6 -crf 26 -pix_fmt yuv420p10le -svtav1-params "tune=0" -c:a copy "${f%-*}.${f:e}"; done
</pre>
<p>やっていることはシンプルで</p>
<ul>
<li>フォルダ内の <code>.mp4</code> を順番に処理</li>
<li>AV1（libsvtav1）でエンコード</li>
<li>音声はコピー</li>
</ul>
<p>そして<strong>「caffeinateがあるからスリープしないだろう」</strong>と、そのまま就寝。</p>
<h2><span id="toc4">起きて発覚：なぜか1本しか終わっていない</span></h2>
<p>朝チェックすると…</p>
<ul>
<li>1ファイルだけ完了</li>
<li>Macはスリープから復帰した直後</li>
<li>ちょうど次のエンコードが始まったところ</li>
</ul>
<p>つまり、</p>
<p><strong>途中でスリープして処理が止まっていた</strong></p>
<p>なんで！？</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc5">原因：caffeinateが“途切れる瞬間”があった</span></h2>
<p>ログなどを確認して分かったことは、</p>
<ul>
<li>1つ目のエンコード終了後に<strong>スリープ条件が成立</strong></li>
<li><code>ffmpeg</code>プロセス終了と同時に <code>caffeinate</code> も終了</li>
<li>次のループが始まるまでの“わずかな間”にスリープ突入</li>
</ul>
<p>つまり、</p>
<p><strong>「連続処理なのに、caffeinateは連続していなかった」</strong></p>
<p>で、スリープから復帰後にジョブを再開、という感じ。</p>
<h2><span id="toc6">修正：ループ全体にcaffeinateをかける</span></h2>
<p>対策として、コマンドを以下のように変更。</p>
<pre>
caffeinate -ims zsh -c 'for f in *.mp4; do ffmpeg -i "$f" -c:v libsvtav1 -preset 6 -crf 26 -pix_fmt yuv420p10le -svtav1-params "tune=0" -c:a copy "_${f%.*}.${f##*.}"; done'
</pre>
<ul>
<li><code>caffeinate</code> をループ全体に適用</li>
<li><code>-ims</code> でスリープ抑制を強化</li>
<li><code>zsh -c</code> でまとめて実行</li>
</ul>
<p>これで「処理の隙間」がなくなり、for文全体にcaffeinateがかかっているため、無事に最後まで完走しました。</p>
<p>考えてみれば、まぁそうだよね。という話なのですが。</p>
<h2><span id="toc7">もう一つの対策法</span></h2>
<p><strong>システム設定 &gt; 省エネルギー &gt; ディスプレイがオフの時に自動でスリープさせない</strong></p>
<p>を <strong>オン</strong> にする。</p>
<p><a href="https://www.wholenotism.com/blog/wp-content/uploads/20260326_-001.jpg"><img fetchpriority="high" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20260326_-001.jpg" alt="省エネルギー設定" width="500" height="318" class="alignnone size-full wp-image-16693" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20260326_-001.jpg 500w, https://www.wholenotism.com/blog/wp-content/uploads/20260326_-001-300x191.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>うん、シンプル（笑</p>
<h2><span id="toc8">まとめ</span></h2>
<p>今回のポイントを一言でまとめると：</p>
<p><strong>「caffeinateはコマンド単体には効くが、処理の流れ全体は守ってくれない」</strong></p>
<p>“プロセスの切れ目”を意識していなかった、のが結果として盲点になっていました。</p>
<p>「朝起きたら全部終わってるはず」という期待が裏切られると地味にダメージ喰らうというか、脱力感。</p>
<p>特にエンコードみたいな時間かかる処理だと尚更ですね（苦笑</p>
<p>まぁ上にも書きましたが、スリープしないように設定しておけばなんという話でもないのですが、意外とこういう落とし穴あるよ〜という自戒も込めて。</p>
<p>てことで今回は以上！</p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="16689"
					data-ulike-nonce="fd3a5f4d5d"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_16689"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2026/03/caffeinate-but-sleep-issue.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MacでAirDropできない原因はファイアウォール？ワンクリックで解決する自動化設定</title>
		<link>https://www.wholenotism.com/blog/2026/02/mac-airdrop-automation-shortcut.html</link>
					<comments>https://www.wholenotism.com/blog/2026/02/mac-airdrop-automation-shortcut.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Sun, 22 Feb 2026 08:00:10 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<category><![CDATA[プログラム・スクリプト]]></category>
		<category><![CDATA[設定]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=16576</guid>

					<description><![CDATA[iPhone -> iMac でのAirDrop受け入れの設定について。 なんとなくMacのセキュリティを意識して、 普段は「ファイアウォール ON」、オプションで「外部からの接続をすべてブロック」、「Bluetooth [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>iPhone -> iMac でのAirDrop受け入れの設定について。</p>
<p>なんとなくMacのセキュリティを意識して、<br />
普段は「<strong>ファイアウォール ON</strong>」、オプションで「<strong>外部からの接続をすべてブロック</strong>」、「<strong>Bluetooth OFF</strong>」にしています。（今使ってるbluetooth機器はないので）<br />
しかし、いざAirDropを使おうとすると、設定画面をあちこち開くハメになり手間がかかるというか煩わしい。</p>
<p>そんな面倒な手順をワンクリック（ある程度の自動化）で完結させてみました。</p>
<p><span id="more-16576"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4"><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">事前準備：必要なツールをインストール</a></li><li><a href="#toc2" tabindex="0">スクリプトの作成</a><ol><li><a href="#toc3" tabindex="0">① AirDropを「ON」にするスクリプト</a></li><li><a href="#toc4" tabindex="0">② 元のセキュリティ状態に「戻す」スクリプト</a></li></ol></li><li><a href="#toc5" tabindex="0">「ショートカット」アプリでボタン化する</a><ol><li><a href="#toc6" tabindex="0">パスワード入力を省略するための sudoers 設定</a></li></ol></li><li><a href="#toc7" tabindex="0">AirDropショートカットの実際の使い方</a></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">事前準備：必要なツールをインストール</span></h2>
<div class="information-box">※bluetooth接続の機器を使用しているならこれは必要ありません。後ほど出てくるスクリプトでもコメントアウトしてください。</div>
<p>スクリプトでBluetoothを操作するために、「<strong>blueutil</strong>」という便利なツールを使います。</p>
<p>Homebrew経由でインストール。（未導入の場合は先にHomebrewを入れてください）</p>
<pre><code>brew install blueutil</code></pre>
<p>ちなみに、Homebrewのインストール先が新旧macで異なるそうです。</p>
<ul class="bold">
<li>Intel Mac: /usr/local/bin/blueutil</li>
<li>Apple Silicon Mac: /opt/homebrew/bin/blueutil</li>
</ul>
<p>が、一応スクリプトの中でパスをエクスポートしているので大丈夫なはず。</p>
<h2><span id="toc2">スクリプトの作成</span></h2>
<p>まずは、自動化の心臓部となる2つの実行ファイルを作成します。</p>
<p>ファイルはユーザーフォルダ直下に置くと仮定しますが、（例：/Users/ユーザー名/）<br />
使いやすいところに置いてパスは適宜修正してください。</p>
<h3><span id="toc3">① AirDropを「ON」にするスクリプト</span></h3>
<p>名前：airdrop_receive.sh</p>
<pre><code>#!/bin/zsh
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"

# blueutil を root (sudo) で動かすための許可証
export BLUEUTIL_ALLOW_ROOT=1
# Bluetooth ON
blueutil --power 1

# Firewall OFF
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off

# Finder起動してAirDrop表示
open /System/Library/CoreServices/Finder.app/Contents/Applications/AirDrop.app
</code></pre>
<p>作成したファイルには、ターミナルで実行権限を付与</p>
<pre><code>chmod +x ~/airdrop_receive.sh</code></pre>
<h3><span id="toc4">② 元のセキュリティ状態に「戻す」スクリプト</span></h3>
<p>次に元の状態に戻すスクリプトを作成。</p>
<p>名前：airdrop_restore.sh</p>
<pre><code>#!/bin/zsh
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
# blueutil を root (sudo) で動かすための許可証
export BLUEUTIL_ALLOW_ROOT=1

# Firewall ON
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on

# Firewall option ON
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setblockall on

# Bluetooth OFF（必要なら）
blueutil --power 0
</code></pre>
<p>こちらも実行権限を付与</p>
<pre><code>chmod +x ~/airdrop_restore.sh</code></pre>
<p>ファイアウォールオプションの「内蔵ソフトウェアの外部接続許可」だけでは、iPhoneからMacが見つからない不安定な状態になりやすい。というか、なる。自分の場合は。</p>
<p>結局<strong>「使う時だけ全開放、終わったら即閉じる」が自分にとっての最適解</strong>かなと。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc5">「ショートカット」アプリでボタン化する</span></h2>
<p>スクリプトをいちいちターミナルで叩くのは大変。<br />
Mac標準の「ショートカット」アプリを使って、メニューバーや右クリックから実行できるようにします。</p>
<p>「ショートカット」アプリを起動したら、「新規ショートカット」か「＋」ボタンから新規作成。</p>
<p>検索か「スクリプティング」から「シェルスクリプトを実行」を持ってくる。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20260222-001.jpg"><img decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-800x453.jpg" alt="シェルスクリプトを実行" width="800" height="453" class="alignnone size-large wp-image-16577" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-800x453.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-300x170.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-768x435.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-120x68.jpg 120w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-160x90.jpg 160w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-001-320x180.jpg 320w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-001.jpg 1174w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>テキストエリアに、以下を記入します。<strong>”ユーザー名”は自分の名前に変更すること。</strong><br />
例：sudo /Users/<strong>ユーザー名</strong>/airdrop_receive.sh<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20260222-002.jpg"><img decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20260222-002-800x482.jpg" alt="sudoで実行" width="800" height="482" class="alignnone size-large wp-image-16593" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20260222-002-800x482.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-002-300x181.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-002-768x463.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-002.jpg 1204w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>シェル:zsh<br />
あとはそのままでok<br />
名前はわかりやすいよう適当に。例：「AirDrop受信」</p>
<p>毎回パスワードを入力するのは面倒なので、次項目で入力を省略するための設定を行います。<br />
なので<strong>「管理者として実行」にチェックはいりません。</strong></p>
<p>右上の i マークから詳細タブ、「&#x2705;メニューバーにピン固定」をチェック<br />
これでメニューバーから選んで簡単に実行できます。</p>
<p>同様に「復元用」のショートカットも作成しておいてください。起動するスクリプトのパスと名前が違うだけであとは同じです。<br />
例：/Users/<strong>ユーザー名</strong>/airdrop_restore.sh</p>
<h3><span id="toc6">パスワード入力を省略するための sudoers 設定</span></h3>
<p>「管理者として実行」<br />
にチェックを入れると実行時にパスワードが聞かれます。</p>
<p>自分以外が触る可能性があるならそれでも良いのですが、普段から自分しか触らないのであればパスワード入力の手間も省きたいところ。</p>
<p>そこで sudoers に設定しておきます。</p>
<p>ただし直接 /etc/sudoers を編集すると、<strong>構文エラー（スペルミスや形式ミス）があった場合に即座にsudoが機能しなくなり、修正不能になる危険があります。</strong><br />
visudo を使うことで編集終了時（保存時）に自動的にチェックが行われ、エラーが判明した時点で修正を促されるため安全に作業できます。</p>
<p>ターミナルから</p>
<pre><code>sudo visudo</code></pre>
<p>でエディタを開きます。<br />
が、普段 vi を使わない自分にはちょっとやりづらい。</p>
<p>そこで</p>
<pre><code>sudo EDITOR=nano visudo</code></pre>
<p>とすることで nano （初心者向けで画面下部にコマンドが表示される直感的なエディタ）表示になる。こちらの方が良い。</p>
<p>開いたら矢印キーで移動してファイルの最後に追記（コピペ）</p>
<pre><code>
## 「ユーザー名」は自分の名前に書き換えて
ユーザー名 ALL=(ALL) NOPASSWD: /Users/ユーザー名/airdrop_receive.sh, /Users/ユーザー名/airdrop_restore.sh
</code></pre>
<p>書いたら ctrl + x で終了、<br />
保存するか聞かれるので Y を押下、リターンキーで戻ります。</p>
<p><a href="https://www.wholenotism.com/blog/wp-content/uploads/20260222-003.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20260222-003-800x480.jpg" alt="/etc/sudoers" width="800" height="480" class="alignnone size-large wp-image-16580" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20260222-003-800x480.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-003-300x180.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-003-768x460.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20260222-003.jpg 1009w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>ちなみに自分のユーザー名はターミナルで whoami と打つと出ます。わからないことはないと思いますが念の為。</p>
<pre><code>% whoami</code></pre>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc7">AirDropショートカットの実際の使い方</span></h2>
<p>AirDropしたい時にメニューバーのショートカットアイコンから、<br />
<strong>「AirDrop受信」</strong>ショートカットをクリック。</p>
<p>自動でBluetoothがONになり、ファイアウォールが解除され、FinderのAirDrop画面が開きます。</p>
<p><strong>「このMacを検出可能な相手：すべての人」</strong>になっていることを確認。</p>
<p>なってなければ手動で変更。</p>
<p>受信が終わったら<strong>「AirDrop設定復元」</strong>用のショートカットをクリックして、元の鉄壁の布陣に戻すだけ！</p>
<div class="information-box">iCloudにログインして連絡先等の設定をしているならそのように。「すべての人」である必要はありません</div>
<h2><span id="toc8">まとめ</span></h2>
<p>「すべての人を許可」など、AirDropの許可範囲の設定はMacが前回の状態を記憶してくれるので、このスクリプトだけで準備の9割が自動化されます。</p>
<p>そこまでガチガチにしておく必要あるか？と言えば微妙なところですが、なんとなくそうしてます。</p>
<p>ちなみに以前はUSBに接続して写真などのデータを移動させていたのですが、なんか端子の調子が悪くて接続したりしなかったり・・・。<br />
AirDropがあるんだからまぁそっちでいいかと。</p>
<p>でも、iMacからiPhoneにAirDropする時はさらっと送れるのですが、逆の場合はファイアウォールが邪魔をするのです。なんか・・・もう面倒くさくて。</p>
<p>あちこち設定開いて・・・とかが煩わしかったので、できるところは自動化してみました。</p>
<p>大量の写真なんかを移動する時は有線接続の方が安定する気がしますけど。</p>
<p>ニーズがあるかわかりませんが備忘録として記事化しておきます。<br />
何かのヒントにでもなれば幸いです。<br />
以上！</p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="16576"
					data-ulike-nonce="ed2e9cb444"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_16576"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+1"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2026/02/mac-airdrop-automation-shortcut.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>一定時間たったら処理を終了させるコマンドが便利【timeout/gtimeout】</title>
		<link>https://www.wholenotism.com/blog/2024/06/gtimeout-mac.html</link>
					<comments>https://www.wholenotism.com/blog/2024/06/gtimeout-mac.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Fri, 21 Jun 2024 20:50:20 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[Monterey]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[yt-dlp]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=15232</guid>

					<description><![CDATA[以前ネット配信の番組を自動的に録画する仕組みをつくりました。 基本的にはそれで問題ないのですが、 放送（内容）は終了してもストリーミング（配信自体）はその後もしばらく続くような場合、 当然ながら配信が完全に終了するまで録 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>以前ネット配信の番組を自動的に録画する仕組みをつくりました。</p>
<p>基本的にはそれで問題ないのですが、<br />
放送（内容）は終了してもストリーミング（配信自体）はその後もしばらく続くような場合、<br />
当然ながら配信が完全に終了するまで録画し続けてしまいます。</p>
<p>つまりオフラインになるまで余計に１、２時間録画し続けてしまうのです。</p>
<p>これを止めるため<br />
<span class="bold" style="font-size:150%;"><strong>「一定時間経過したら録画を止めるコマンド」</strong></span><br />
が必要となりました。</p>
<p><strong>timeout</strong> というコマンドがLinuxで使えるようですが、<br />
MacOSにはなかったので <strong>Homebrew</strong> から <strong>Coreutils</strong> を入れて使えるようにしました。</p>
<p>そんな備忘録。</p>
<p><span id="more-15232"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6"><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">時間になったら処理（録画）を開始し、一定時間で終了する</a><ol><li><a href="#toc2" tabindex="0">Homebrewからcoreutilsをインストール</a></li></ol></li><li><a href="#toc3" tabindex="0">gtimeout（timeout）の使い方</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">時間になったら処理（録画）を開始し、一定時間で終了する</span></h2>
<p>コマンドの利用については、別に録画に限った話ではないので、<br />
関係なければ要らないところは読み飛ばしていただいて構いません。</p>
<p>スケジュール録画についてはちょっと試行錯誤したのでいくつかの記事に分かれてます。<br />
この辺を見たら多分わかります。</p>

<a href="https://www.wholenotism.com/blog/2020/09/crontab.html" title="ストリーム配信を録画する為に定期的にジョブを実行するcrontabを使う" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci-160x90.jpg 160w, https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci-300x169.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci-768x432.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci-120x68.jpg 120w, https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci-320x180.jpg 320w, https://www.wholenotism.com/blog/wp-content/uploads/20200910_eci.jpg 800w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">ストリーム配信を録画する為に定期的にジョブを実行するcrontabを使う</div><div class="blogcard-snippet internal-blogcard-snippet">以前カレンダーを使ってネット配信番組の動画を予約録画する記事を書きました。それにちょっとした問題が発生したので、今はcrontabを使って起動するようにしています。要するにカレンダーで起動していた録画実行スクリプトを、crontabでの起動...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.wholenotism.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.wholenotism.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.09.10</div></div></div></div></a>
<p>さて、とにかく処理を開始した後、一定時間経過したら終了するようにしたいわけです。</p>
<h3><span id="toc2">Homebrewからcoreutilsをインストール</span></h3>
<p>そのためのコマンド群をインストールしました。<br />
<a rel="noopener" href="https://brew.sh/ja/" target="_blank">Homebrew<span class="fa fa-external-link external-icon anchor-icon"></span></a>を使いました。</p>
<pre class="bash">
% brew install coreutils
...
==> Pouring coreutils--9.5.monterey.bottle.tar.gz
==> Caveats
Commands also provided by macOS and the commands dir, dircolors, vdir have been installed with the prefix "g".
If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH with:
  PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
==> Summary
&#x1f37a;  /usr/local/Cellar/coreutils/9.5: 481 files, 14.2MB
</pre>
<p>無事インストールが完了し、「<strong>gtimeout</strong>」が使えるようになりました。（エイリアスが作成され「<strong>timeout</strong>」でも通ります）</p>
<pre class="text">
% timeout --help
Usage: timeout [OPTION] DURATION COMMAND [ARG]...
  or:  timeout [OPTION]
Start COMMAND, and kill it if still running after DURATION.

Mandatory arguments to long options are mandatory for short options too.
      --preserve-status
                 exit with the same status as COMMAND, even when the
                   command times out
      --foreground
                 when not running timeout directly from a shell prompt,
                   allow COMMAND to read from the TTY and get TTY signals;
                   in this mode, children of COMMAND will not be timed out
  -k, --kill-after=DURATION
                 also send a KILL signal if COMMAND is still running
                   this long after the initial signal was sent
  -s, --signal=SIGNAL
                 specify the signal to be sent on timeout;
                   SIGNAL may be a name like 'HUP' or a number;
                   see 'kill -l' for a list of signals
  -v, --verbose  diagnose to stderr any signal sent upon timeout
      --help        display this help and exit
      --version     output version information and exit

DURATION is a floating point number with an optional suffix:
's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days.
A duration of 0 disables the associated timeout.

Upon timeout, send the TERM signal to COMMAND, if no other SIGNAL specified.
The TERM signal kills any process that does not block or catch that signal.
It may be necessary to use the KILL signal, since this signal can't be caught.

Exit status:
  124  if COMMAND times out, and --preserve-status is not specified
  125  if the timeout command itself fails
  126  if COMMAND is found but cannot be invoked
  127  if COMMAND cannot be found
  137  if COMMAND (or timeout itself) is sent the KILL (9) signal (128+9)
  -    the exit status of COMMAND otherwise

GNU coreutils online help: https://www.gnu.org/software/coreutils/
Report any translation bugs to https://translationproject.org/team/
Full documentation https://www.gnu.org/software/coreutils/timeout
or available locally via: info '(coreutils) timeout invocation'
</pre>
<h2><span id="toc3">gtimeout（timeout）の使い方</span></h2>
<p>使い方は単純、終了させたい時間を指定すればOK<br />
秒：10s<br />
分：20m<br />
時：1h　など</p>
<pre class="bash">
#サンプル １時間後に録画終了
% timeout 1h yt-dlp 'https://www.配信サーバー/URI' -o ~/Desktop/output.mp4 
</pre>
<p>これで１時間後に録画を終了します。</p>
<p>実際には途中でスリープに入らないよう <strong>caffeinate</strong> も使っています。<br />
こちらはMacで元々使えるもので、スリープを抑制するコマンドです。<br />
録画途中でスリープに入られると厄介なので。</p>
<p>ま、その辺は適宜対応してください。では。</p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="15232"
					data-ulike-nonce="55596248cf"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_15232"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2024/06/gtimeout-mac.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>youtube-dlが速度制限!?派生プログラムのyt-dlpに乗り換えてみる</title>
		<link>https://www.wholenotism.com/blog/2022/01/alternative-youtubedl-yt-dlp.html</link>
					<comments>https://www.wholenotism.com/blog/2022/01/alternative-youtubedl-yt-dlp.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Sat, 29 Jan 2022 20:58:09 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[yt-dlp]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=11400</guid>

					<description><![CDATA[少し前から（いつからだろう？）、youtube-dlやブラウザのアドオンでのダウンロードがなんか速度制限されているように感じていました。50、60kb/s程度に制限されてるような気が。 おかげでちっとも落ちてこない。（ぷ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>少し前から（いつからだろう？）、<strong>youtube-dl</strong>やブラウザのアドオンでのダウンロードがなんか速度制限されているように感じていました。50、60kb/s程度に制限されてるような気が。<br />
おかげでちっとも落ちてこない。（ぷんすか</p>
<p>基本的にはローカルで再生したいだけで見終わったら消すのですが、そのために長い時間待つ気はさらさら無いわけです。youtubeで観たら5秒戻すだけでも（バッファしなおすから）微妙に待たなきゃいけないし。<br />
何回かリトライしてると制限を外れて落ちてくる時があるものの確実とは言えない。<br />
無理な時は無理。</p>
<p>単に混んでいるのかな？くらいに思っていましたがどうやら</p>
<p><span class="bold" style="font-size:150%;">実際にyoutube-dlなどでのアクセスに速度制限がかけられていたようです（！）</span></p>
<p>まぁ世界中からのアクセスですからね、事情を考えれば仕方ないと言えば仕方ないのですが・・・<br />
（儲けまくってんだから設備補充に回せよ！とも思うけど）</p>
<p><span id="more-11400"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8"><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">youtube-dlに代えてそのフォーク（派生）のyt-dlpをインストール</a></li><li><a href="#toc2" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">youtube-dlに代えてそのフォーク（派生）のyt-dlpをインストール</span></h2>
<p>youtube-dlからの派生で「<strong>yt-dlp</strong>」というものがあるらしい。</p>
<p>早速インストールしてみました。<br />
いつもの <a rel="noopener" href="https://brew.sh/index_ja" target="_blank">Homebrew<span class="fa fa-external-link external-icon anchor-icon"></span></a> から。</p>
<pre class="zsh">
brew install yt-dlp
</pre>
<p>さくさくっと完了。</p>
<p>つーわけで早速、速度制限のかかっていたyoutube動画を試しに落としてみる。</p>
<p>・・・ん〜まぁ、大丈夫。</p>
<p><del datetime="2022-02-01T10:54:45+00:00">というのもなんか1MB/sくらいは出るけど「そんなもんだっけ？」ってな感じで。</del><br />
※嘘だったそんなこともなかった。普通。</p>
<p>youtube-dlでリトライして上手くいった時は11Mb/sくらいは出ていたような気がするのです。（一時の速度かもだけど）</p>
<p>まぁそれでもトータルのDLにかかる時間を考えると 50kb/s より全然マシですけど。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc2">まとめ</span></h2>
<p>ということで <strong>youtube-dl</strong> から <strong>yt-dlp</strong> に乗り換えてみました。</p>
<p>今のところは良い感じ。</p>
<p>ちなみにconfigファイルなんかも同じ感じで置いたらok</p>
<p><span class="bold">~/.config/yt-dlp/config</span></p>
<p><a rel="noopener" href="https://github.com/yt-dlp/yt-dlp#usage-and-options" target="_blank">オプション<span class="fa fa-external-link external-icon anchor-icon"></span></a>も引き継がれてる感じなのであまり混乱はしないかな？</p>
<p>これもそのうち規制されるんだろうけど・・・ねぇ</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="11400"
					data-ulike-nonce="659f66c2f7"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_11400"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2022/01/alternative-youtubedl-yt-dlp.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ffmpeg/ffprobeの表示をシンプルに（hide_bannerオプション）</title>
		<link>https://www.wholenotism.com/blog/2021/10/ffmpeg-hide_banner.html</link>
					<comments>https://www.wholenotism.com/blog/2021/10/ffmpeg-hide_banner.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Tue, 05 Oct 2021 03:58:10 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=11056</guid>

					<description><![CDATA[ffmpegやffprobeを使っていて常々思っていたのが 「なんかごちゃごちゃ先頭にある情報・・・邪魔じゃない？」 二つのファイルを比較しようと情報を出しても余計な行数が取られてしまう。 もちろんそれを非表示にするオプ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>ffmpegやffprobe</strong>を使っていて常々思っていたのが</p>
<p><strong><span class="bold" style="font-size:150%;">「なんかごちゃごちゃ先頭にある情報・・・邪魔じゃない？」</span></strong></p>
<p>二つのファイルを比較しようと情報を出しても余計な行数が取られてしまう。</p>
<p>もちろんそれを非表示にするオプションは存在します。<br />
それをデフォルトに設定しようというのが今回の小ネタ記事。</p>
<p><span id="more-11056"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10"><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ffmpeg/ffprobeの冗長な情報を非表示にする</a></li><li><a href="#toc2" tabindex="0">そもそもなんでデフォルトでそうなってないの？</a></li><li><a href="#toc3" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">ffmpeg/ffprobeの冗長な情報を非表示にする</span></h2>
<p>結論から言うと <strong>-hide_banner</strong> というオプションをつければ表示されなくなります。<br />
ズラズラ〜っと出てくるビルドオプションなどが非表示に。</p>
<p>でもいちいち書くのは面倒。<br />
ということでエイリアスとして設定。</p>
<p>~/.zshrc に追記（bashなら.bashrcや.bash_profile）</p>
<pre class="zsh">
alias ffmpeg="ffmpeg -hide_banner"
alias ffprobe="ffprobe -hide_banner"
</pre>
<p>これは文字通り<br />
<span class="bold" style="font-size:150%;">ffmpeg って入力されたら<br />
 &#8220;ffmpeg -hide_banner&#8221; ていう意味だかんね！</span><br />
と宣言（設定）しておくこと。</p>
<p>次回以降（ターミナルを開いていれば一度閉じてから）はこのオプションが適用されます。</p>
<p>スッキリ (´∀｀○)～♪</p>
<h2><span id="toc2">そもそもなんでデフォルトでそうなってないの？</span></h2>
<p>それにはこんな深いわけ（？）が…</p>
<blockquote><p>
-hide_banner is the bane of those providing help. Making it the default would make providing support more difficult and less efficient. It hides important and useful information.<br />
We require the user provide the full command and the complete console output when they ask for help or submit a bug report. Quite often we have to request this information resulting in an unnecessary delay. Making this the default could result in yet another step, more information requests, and more delays. We would have to explicitly mention -show_banner for every single help request and bug report. Making -hide_banner the default would result in more work for users and developers, frustrated users, and fewer questions answered.<br />
<cite>（<a rel="noopener" href="https://trac.ffmpeg.org/ticket/7211" target="_blank">trac.ffmpeg.org<span class="fa fa-external-link external-icon anchor-icon"></span></a>）</cite>
</p></blockquote>
<p>まぁ一言で言うと<br />
<strong>「ヘルプの際に”厄介の種”となり得るから」</strong></p>
<p>つまり何らかのトラブルやバグリポートしてもらう時、その状況を詳しく報告してもらいたい、より細かい情報を提供してもらいたいと。<br />
その方が状況を把握しやすく問題解決を迅速かつ効率的に行えると。</p>
<p>なのにこのオプションをデフォルトで設定してしまうと重要な情報が隠されてしまう。<br />
-show_bannerというオプションを付けて貰うことをお願いするより効率的だから、ということらしい。<br />
まぁそだろね。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<p>　</p>
<h2><span id="toc3">まとめ</span></h2>
<p>痒いところに手が届く -hide_banner オプションのお話でした。</p>
<p>大した内容でもないのですが意外と一度は気になる話かと。</p>
<p>さほど珍しい情報でもないので恐縮ですが、折角調べて設定したので記事化しておきます。</p>
<p>以上小ネタ記事でした。<br />
んまたね！</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="11056"
					data-ulike-nonce="711bbfcdf6"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_11056"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2021/10/ffmpeg-hide_banner.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Macのフォルダアクションでファイル名に日付を追加(Automator)</title>
		<link>https://www.wholenotism.com/blog/2021/05/rename-folderaction.html</link>
					<comments>https://www.wholenotism.com/blog/2021/05/rename-folderaction.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Sat, 15 May 2021 05:02:08 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=10542</guid>

					<description><![CDATA[ある時、ファイルのバックアップを取るのに 「自動的に日付を追加できないか」 と考えた。 ファイルの先頭に日付が挿入されれば並び替えでもスッキリする。 でもいちいち手打ちするのは面倒くさい。 バックアップフォルダかなんかに [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>ある時、ファイルのバックアップを取るのに<br />
<strong>「自動的に日付を追加できないか」</strong><br />
と考えた。</p>
<p>ファイルの先頭に日付が挿入されれば並び替えでもスッキリする。<br />
でもいちいち手打ちするのは面倒くさい。</p>
<p>バックアップフォルダかなんかに放り込んだら自動的にリネームしてくれたら一番良いかも？</p>
<p>そこでパッと浮かんだのは「<strong>フォルダアクション</strong>」<br />
初めて使って見たけどちょっとクセもあって・・・</p>
<p>そんな感じの備忘録。</p>
<p><span id="more-10542"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12"><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1.フォルダアクションで自動的にリネーム（日付を付加）する</a><ol><li><a href="#toc2" tabindex="0">問題発生：リネームが止まらない！どんどん追加し続けてしまう</a></li><li><a href="#toc3" tabindex="0">解決法：違うフォルダへ移動させる</a></li><li><a href="#toc4" tabindex="0">フォルダアクションを外したいときは</a></li></ol></li><li><a href="#toc5" tabindex="0">2.リネームするシェルスクリプトをフォルダアクションに設定する</a><ol><li><a href="#toc6" tabindex="0">mvコマンドでリネーム</a><ol><li><a href="#toc7" tabindex="0">zmvを使う時の準備</a></li></ol></li><li><a href="#toc8" tabindex="0">Automatorからフォルダアクションを設定</a></li></ol></li><li><a href="#toc9" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">1.フォルダアクションで自動的にリネーム（日付を付加）する</span></h2>
<div class="information-box">念のため書いておくと作業環境は MacOS Mojave(10.14) です。あまり関係ありませんが</div>
<p>まず浮かんだのは「フォルダアクション」でのスクリプト割り当て。</p>
<p>多分 Automator あたりでちゃちゃっとできるでしょ？と思ってやってみた。できた。</p>
<p>まず Automator を起動し、「<span class="bold">フォルダアクション</span>」を選択。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_001.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_001-800x543.jpg" alt="「フォルダアクション」を選択" width="800" height="543" class="alignnone size-large wp-image-10534" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210515_001-800x543.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_001-300x204.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_001-768x521.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_001.jpg 1233w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>左ペインから「<span class="bold">Finder項目の名前を変更</span>」を右側へ持ってくる。</p>
<p>コピーを作成するかどうか聞かれるが、特にいらないので今回は「<span class="bold">追加しない</span>」<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_002.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_002-800x543.jpg" alt="追加しない" width="800" height="543" class="alignnone size-large wp-image-10537" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210515_002-800x543.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_002-300x204.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_002-768x521.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_002.jpg 1233w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>追加されたら<br />
「日付または時刻を追加」を選び、「現在」「名前の前」「区切り記号」などを選んでいく。</p>
<p>書式は下に例が出るので確認できます。</p>
<p>あとは紐づけるフォルダを一番上の「フォルダを選択」から選んであげれば良いはず。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_003.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_003-800x543.jpg" alt="設定" width="800" height="543" class="alignnone size-large wp-image-10538" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210515_003-800x543.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_003-300x204.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_003-768x521.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_003.jpg 1233w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>とりあえず好きな名前で保存してっと・・・<br />
楽チンやん</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h3><span id="toc2">問題発生：リネームが止まらない！どんどん追加し続けてしまう</span></h3>
<p>ここで問題発生。</p>
<p>試しにファイルを放り込んでみるとリネームはしてくれるのですが、<br />
<span class="bold" style="font-size:150%;">ずっとリネームし続けてしまうのです。</span></p>
<p>例えばこの画像ファイル「Hawaiian Print.jpg」を放り込むと・・・<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_004.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_004.jpg" alt="画像ファイル" width="245" height="227" class="alignnone size-full wp-image-10539" /></a></p>
<p>「20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_20210515_Hawaiian Print.jpg」<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_005.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_005.jpg" alt="画像ファイル" width="738" height="463" class="alignnone size-full wp-image-10540" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210515_005.jpg 738w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_005-300x188.jpg 300w" sizes="(max-width: 738px) 100vw, 738px" /></a></p>
<p>こんな感じに。<br />
際限なく文字列を追加し続けてしまいます。</p>
<p>これはリネームした後に<br />
<span class="bold">「お、新しいファイルがある！」→「リネームしなきゃ！」→「お、新しいファイルがある！」→ 以下ループ</span></p>
<p>という感じなんでしょう。（え〜</p>
<h3><span id="toc3">解決法：違うフォルダへ移動させる</span></h3>
<p>仕方ないのでその一つ下に新しいフォルダを作成し、リネーム後はそこに移動させることにします。</p>
<p>「<span class="bold">Finder項目を移動</span>」を下に付け加え、保存先を選びます。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_006.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_006-800x550.jpg" alt="Finder項目を移動" width="800" height="550" class="alignnone size-large wp-image-10541" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210515_006-800x550.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_006-300x206.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_006-768x528.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_006.jpg 1282w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>これで完成。<br />
一度だけ日付が付け加えられ、指定のフォルダに移動されました。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h3><span id="toc4">フォルダアクションを外したいときは</span></h3>
<p>フォルダアクションの設定を変更したい時は、<br />
そのフォルダを右クリックし、「<strong>フォルダアクション設定</strong>」（「サービス」項目の中にある場合も）を選択。</p>
<p>該当するものからチェックのオンオフで切り替えられます。</p>
<h2><span id="toc5">2.リネームするシェルスクリプトをフォルダアクションに設定する</span></h2>
<p>基本的には前述の通り、Automatorに用意されているもので解決できるのですが、<br />
リネーム後に別フォルダへ移動させるというのがなんか気にいらない。（笑</p>
<p>やっぱりシンプルに<strong>フォルダへ放り込んだらリネーム、あとはそのまま保管</strong>できたらいいな。<br />
うん、それがいい。</p>
<p>まずは名前をチェックして、<br />
（今回のように）8桁の数字とアンダースコアが先頭に付いて”無い”場合にのみリネームを行う、そんなスクリプトを書く。<br />
それなら繰り返しで追加リネームされることもなく、あるいは予めリネームしたファイルを放り込んでもそのままでいるはず。<br />
それをフォルダアクションとして設定してあげれば一つのフォルダで済むではないか。</p>
<p>ということで少し違った方法でもやってみました。</p>
<h3><span id="toc6">mvコマンドでリネーム</span></h3>
<p>Macってリネームのコマンド(rename)がないんですね。<br />
ファイルを移動させるコマンド(mv)を使ってリネームを実現するようです。ちょっとびっくり。</p>
<p>Homebrewから rename コマンドをインストールすることもできるようですが、やりません。</p>
<p>今回は「bash」でも動くように「mv」コマンドで書いてみます。</p>
<p>ちなみにですが、<br />
MacOS Catalina(10.15)以降ではデフォルトシェルが「zsh」に変更されているので、<br />
より便利な「zmv」なるコマンドが使えます。</p>
<p>とは言いつつMojaveにもzshは入っているので、<br />
実はシェルの選択でそちらを選べば次項のコードを mv -> zmv にしても動きます。</p>
<p>ただやりたいことはシンプルなのでどちらでもいいかなと。</p>
<h4><span id="toc7">zmvを使う時の準備</span></h4>
<p>もしzmvを使いたい時は<br />
~/.zhenv に</p>
<pre class="ini">
autoload -Uz zmv
</pre>
<p>を追記する必要があるようです。<br />
（ファイルがなければ作成）</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h3><span id="toc8">Automatorからフォルダアクションを設定</span></h3>
<p>Automatorを起動し、「<strong>フォルダアクション</strong>」を選択したら<br />
左ペインから「<strong>シェルスクリプトを実行</strong>」を持ってきます。</p>
<p>シェルは<br />
<span class="bold">/bin/bash<br />
/bin/zsh</span><br />
どちらでも。</p>
<pre class="bash">
for f in "$@"; do
	[[ ${f##*/} =~ ^[0-9]{8}_.*$ ]] || mv "$f" "${f%/*}/$(TZ=UTC-9 date '+%Y%m%d')_${f##*/}"
done
</pre>
<p>と入力し、</p>
<p>上部にある「<span class="bold">次の場所に追加されたファイルやフォルダを受け取る</span>」から<br />
アクションを割り当てるフォルダを指定します。</p>
<p>あとは名前をつけて保存。</p>
<p><a href="https://www.wholenotism.com/blog/wp-content/uploads/20210515_008.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210515_008-800x436.jpg" alt="シェルスクリプトを実行" width="800" height="436" class="alignnone size-large wp-image-10547" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210515_008-800x436.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_008-300x164.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_008-768x419.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210515_008.jpg 1276w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>素人の下手コードですが一応何をやっているのかを説明すると、<br />
受け取ったファイル（複数可）のファイル名を一つずつ取り出し条件に合うかを確認。<br />
先頭が8桁の数字とアンダースコアでなければ、mvコマンドで現在の日付をファイル名の先頭に付け加えます。</p>
<h2><span id="toc9">まとめ</span></h2>
<p>意外と簡単なような、面倒くさいような、やっぱり面倒くさいような。</p>
<p>まぁ一度設定してしまえばあまり触ることもないでしょうし、これでいいかな。</p>
<p>とりあえず調べて見た感じで rename がコマンドとして無かったこと、<br />
たった今自分でリネームしたものを覚えられず繰り返してしまう、ちょっぴりアホな子iMacちゃんにキレ…萌えたので備忘録として記事にしました。</p>
<p>それでは。</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="10542"
					data-ulike-nonce="477515c29e"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_10542"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2021/05/rename-folderaction.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>bashとzsh変数展開の違い(変数内にある空白での分割について</title>
		<link>https://www.wholenotism.com/blog/2021/03/zsh-space-expansion.html</link>
					<comments>https://www.wholenotism.com/blog/2021/03/zsh-space-expansion.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Wed, 03 Mar 2021 00:09:54 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=10488</guid>

					<description><![CDATA[bashで書いていたシェルスクリプトをzshに持ってきて動かそうとしたらエラーが出て動かない。 そんな難しいことをしているわけでもないのに何故か動かない。 なんで？ その原因は変数展開の仕方の違いにありました。 小ネタで [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>bashで書いていたシェルスクリプトをzshに持ってきて動かそうとしたらエラーが出て動かない。</p>
<p>そんな難しいことをしているわけでもないのに何故か動かない。</p>
<p>なんで？</p>
<p><span class="bold" style="font-size:150%;"><strong>その原因は変数展開の仕方の違い</strong></span>にありました。</p>
<p>小ネタですが備忘録として記事化しておきます。</p>
<p><span id="more-10488"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14"><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">bashとzshの変数展開における空白の扱いが違った件</a></li><li><a href="#toc2" tabindex="0">解決法</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">bashとzshの変数展開における空白の扱いが違った件</span></h2>
<p>bashで書いた簡単なスクリプト。<br />
動画をダウンロードするプログラムを起動する為のスクリプトです。</p>
<p>なので基本的には<span class="bold">そのURLと、設定ファイルの場所をパラメータとして渡すだけ</span>。</p>
<p>zshに移行してもそのまま動くだろうと思ったのですが、物の見事に引っかかりました。</p>
<p>エラーを吐いて動いてくれない。<br />
シンプルなだけに意味がわからない。</p>
<p>これで何故動かない・・・</p>
<p>で、色々調べてみたらなんと</p>
<p><strong>bashとzshでは変数に含まれる空白の扱いがデフォルトで違う</strong>、ということだったのです。</p>
<p>bashでは変数に空白が含まれていた場合、それを区切り文字として分割、展開されます。</p>
<p>が、zshは分割せず全体を一つの大きな塊として処理します。</p>
<p>つまり</p>
<p>コマンド に <span class="bold">URL オプション</span></p>
<p>と言うそれぞれ空白で区切られたものとして渡したかったものが</p>
<p>コマンド <span class="bold-red">&#8220;URL オプション&#8221;</span></p>
<p>という一続きになっていたということ。</p>
<p>そりゃそんなURL無いって言われるわ。</p>
<h2><span id="toc2">解決法</span></h2>
<p>解決するには <strong>SH_WORD_SPLIT</strong> オプションを設定するとbashと同じ扱いになるらしい。</p>
<pre class="zsh">
setopt SH_WORD_SPLIT
</pre>
<p>これをスクリプトの先頭の方に追記。<br />
無事動くようになりました。</p>
<p>また <strong>${=VAR}</strong> という形にするという方法もあり。</p>
<p>書き直すの面倒だから今回はしないけど。</p>
<p>思わぬ落とし穴でした。</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="10488"
					data-ulike-nonce="67d5491ea1"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_10488"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2021/03/zsh-space-expansion.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Mac】Mojaveのログインシェルをzshに変更＆アップデート(バージョンアップ)してみた</title>
		<link>https://www.wholenotism.com/blog/2021/02/update-zsh-on-mojave.html</link>
					<comments>https://www.wholenotism.com/blog/2021/02/update-zsh-on-mojave.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Thu, 04 Feb 2021 07:26:30 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[Mojave]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=10380</guid>

					<description><![CDATA[Mojaveに新しいバージョンの zsh をインストールして、ちょっとだけバージョンアップしてみました。 Mojave（10.14）までのデフォルトシェルは bash です。 macOS Catalina（10.15）か [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Mojaveに新しいバージョンの zsh をインストール</strong>して、ちょっとだけバージョンアップしてみました。</p>
<p>Mojave（10.14）までのデフォルトシェルは <strong>bash</strong> です。<br />
macOS Catalina（10.15）から <strong>zsh</strong> に変えられたのは有名なお話（？）</p>
<p>とは言えMojaveにももともとzshは入っているので、<br />
せっかくだからこれを機に bash から zsh に切り替えてみようかと。</p>
<p>ついでに一番新しいバージョンをインストールして使ってみようかと考えました。</p>
<p><span id="more-10380"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16"><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Mojaveのデフォルトシェルはbash</a></li><li><a href="#toc2" tabindex="0">Homebrewからzshをインストール</a></li><li><a href="#toc3" tabindex="0">ログインシェルの変更</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">Mojaveのデフォルトシェルはbash</span></h2>
<p>冒頭に書いたようにMojave（10.14）までは bash がデフォルトで使われています。<br />
しかもちょっと古めのバージョン（GNU bash, version 3.2.57(1)）でした。</p>
<p>バージョンを上げられなかったのはライセンスの関係だとか。<br />
その辺りのことで Catalina からは zsh になったようです。</p>
<p>ま、それはさておき、<br />
バージョンを調べてみると</p>
<pre class="bash">
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

$ zsh --version
zsh 5.3 (x86_64-apple-darwin18.0)
</pre>
<p>こんな感じ。</p>
<p>以前は（と言っても今も使ってますが）High Sierra に bash-5.0 をインストールして使っていました。<br />
もともと入っていたバージョンは同じ bash 3.2.57(1) です。</p>

<a href="https://www.wholenotism.com/blog/2020/05/install-bash5-mac.html" title="【Mac】最新のbash5.0（+パッチ）をインストール" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci-160x90.jpg 160w, https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci-300x169.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci-768x432.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci-120x68.jpg 120w, https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci-320x180.jpg 320w, https://www.wholenotism.com/blog/wp-content/uploads/20200525_eci.jpg 800w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Mac】最新のbash5.0（+パッチ）をインストール</div><div class="blogcard-snippet internal-blogcard-snippet">さて、つい先日知ってからちょっと気になっていたこと。macOS Catalina(10.15)からデフォルトシェルが zsh に変更されているという話。その辺りについては詳しく知らないものの、既に変更されたのなら今後はzshを使った方が良い...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.wholenotism.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.wholenotism.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.24</div></div></div></div></a>
<p>んでもって zsh の新しいバージョンを調べてみると、<br />
どうやら ver5.8 というのが最新らしい。（2021/2/3現在）</p>
<p>ということで今回は Homebrew から zsh(5.8) をインストールしてみます。</p>
<h2><span id="toc2">Homebrewからzshをインストール</span></h2>
<div class="information-box">Homebrewは先にインストールしておく必要があります。インストールは<a rel="noopener" href="https://brew.sh/index_ja" target="_blank">こちら<span class="fa fa-external-link external-icon anchor-icon"></span></a>から</div>
<p>もともと入っていたバージョンのはそのままに、<br />
Homebrew から新しいzshをインストールします。</p>
<pre class="bash">
$ brew install zsh
</pre>
<p>これで</p>
<p><span class="bold">/usr/local/bin/zsh</span></p>
<p>にインストールされました。<br />
簡単簡単。</p>
<p>次に</p>
<p><span class="bold">/etc/shells</span></p>
<p>にパスを書き加えます。</p>
<p>Finderから「フォルダへ移動」メニューで開いてテキストエディタで編集してもいいですし、<br />
ターミナルから</p>
<pre class="bash">
$ sudo bash -c 'echo /usr/local/bin/zsh >> /etc/shells'
</pre>
<p>と入力してもOK.</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<p>その結果</p>
<pre class="text">
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh
</pre>
<p>ちゃんと追記されました。</p>
<h2><span id="toc3">ログインシェルの変更</span></h2>
<p>さてインストールはできたので、<br />
次はログインシェルを bash から zsh に変更します。</p>
<p>ターミナルから</p>
<pre class="bash">
$ chsh -s /usr/local/bin/zsh
</pre>
<p>と打ち込んで、パスワードを入力して変更。</p>
<p>ターミナルを一度閉じて（ログアウト）開き直すとこう表示されました。</p>
<pre class="text">
This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~).  This function can help you with a few settings that should
make your use of the shell easier.

You can:

(q)  Quit and do nothing.  The function will be run again next time.

(0)  Exit, creating the file ~/.zshrc containing just a comment.
     That will prevent this function being run again.

(1)  Continue to the main menu.

--- Type one of the keys in parentheses ---
</pre>
<p>.zshrc などがないからその設定ですね、初回の。</p>
<p>(q) 何もしない。次回も同じ画面でるよ<br />
(0) コメントだけの空ファイルを作る<br />
(1) 対話形式のメインメニューへ</p>
<p>とりあえず 0 を押して空のファイルを作っておきました。<br />
中身は色々情報見ながら書けばいいし、<br />
メニューのはなんか面倒臭そうで。</p>
<p>試しになにか打ち込んでみると・・・</p>
<pre class="zsh">
% echo $SHELL
/usr/local/bin/zsh
% zsh --version
zsh 5.8 (x86_64-apple-darwin18.7.0)
</pre>
<p>うん、表示された。</p>
<p>プロンプトの記号がパーセント（％）に変わっているのにちょっと違和感あるけど。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc4">まとめ</span></h2>
<p>ということでデフォルトのログインシェルを bash から zsh(5.8) に変更してみました。</p>
<p>High Sierra に bash5.0 を入れた時は、Homebrewからではなくソースからmakeしてインストールしました。</p>
<p>でも断然Homebrewを使った方が楽。</p>
<p>あとはなんか「oh-my-zsh」とかいう便利なフレームワークがあるようですがそういうのはまぁ追々。</p>
<p>だって色々さわってみないとまだ何が何やら・・・なので。</p>
<p>とりあえず今回はインストールするところまで。<br />
では。</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="10380"
					data-ulike-nonce="bca833e49f"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_10380"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2021/02/update-zsh-on-mojave.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Mac】webpをpng(jpg)などに一括画像変換！右クリックで簡単に</title>
		<link>https://www.wholenotism.com/blog/2020/11/webp_to_png.html</link>
					<comments>https://www.wholenotism.com/blog/2020/11/webp_to_png.html#comments</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Wed, 11 Nov 2020 15:01:46 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=10063</guid>

					<description><![CDATA[Macのクイックルックでwebp形式のファイルを見られるようするには 「WebPQuickLook」というプラグインを使いました。 アイコン表示もクイックルックでの表示もできるようになりましたが、 プレビュー（Previ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Macのクイックルックで<strong>webp</strong>形式のファイルを見られるようするには<br />
「WebPQuickLook」というプラグインを使いました。</p>
<p>アイコン表示もクイックルックでの表示もできるようになりましたが、<br />
<span class="bold">プレビュー（Preview.app）で開くことはできません。</span></p>
<p>面倒臭いので <strong>webp → png に一括で変換</strong>できるようにしてみました。</p>
<p><span id="more-10063"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18"><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">webpフォーマットとは</a></li><li><a href="#toc2" tabindex="0">コマンドラインから webpを変換 or webpに変換</a></li><li><a href="#toc3" tabindex="0">Automatorで画像を一括変換するサービスを作成</a><ol><li><a href="#toc4" tabindex="0">webpをjpgに変換したい</a></li><li><a href="#toc5" tabindex="0">dwebp オプション</a></li></ol></li><li><a href="#toc6" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">webpフォーマットとは</span></h2>
<p>簡単におさらい。</p>
<blockquote><p>
	WebPは、米Googleが開発しているオープンな静止画像フォーマット。ファイルの拡張子は「webp」<br />
	<cite>（Wikipedia <a rel="noopener" href="https://ja.wikipedia.org/wiki/WebP" target="_blank">WebP<span class="fa fa-external-link external-icon anchor-icon"></span></a>より引用）</cite>
</p></blockquote>
<p>ちょっと前に「WebPQuickLook」というwebpに対応させるプラグインを導入しました。</p>

<a href="https://www.wholenotism.com/blog/2020/10/webp.html" title="WebPファイルをmacで表示できるようにする方法＆変換方法" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci-160x90.jpg 160w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci-300x169.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci-768x432.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci-120x68.jpg 120w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci-320x180.jpg 320w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_eci.jpg 800w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">WebPファイルをmacで表示できるようにする方法＆変換方法</div><div class="blogcard-snippet internal-blogcard-snippet">Macでwebp形式のファイルを表示できるようにする方法です。とは言え既に対応ブラウザでは表示できるので正確に言うとFinderのプレビュー画面（Quicklook）なんかでも見られるようにするプラグインを導入します。ついでにブラウザのキャ...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.wholenotism.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.wholenotism.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.10.29</div></div></div></div></a>
<p>一応これでMacでも表示できるようになりました。</p>
<p>PhotoShopにもプラグインを導入することで開けるようになったのですが、<br />
いちいち起動するのが面倒臭い。</p>
<p>もっと手軽にできないものか？</p>
<h2><span id="toc2">コマンドラインから webpを変換 or webpに変換</span></h2>
<p>webp形式を開けるフリーソフトなどをまた別に導入してもいいのですが、<br />
そもそも webpquicklook を入れた時点で webp というパッケージもインストールされています。</p>
<div class="information-box">※個別に入れた記憶がないので依存関係でインストールされたと理解しています。もし違ったなら「brew install webp」でインストールしてください。</div>
<p>なので</p>
<ul class="bold">
<li>cwebp（webp形式に変換）</li>
<li>dwebp（webp形式から変換）</li>
</ul>
<p>という変換のためのコマンドが使えるようになっていたのです。</p>
<p>とは言え、<br />
これまたまずはターミナルを開いて、コマンドを手打ちして、変換して・・・なんて面倒臭いですよね。</p>
<p>じゃぁ自動化してしまえ、ということで <strong>Automator</strong> を使います。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc3">Automatorで画像を一括変換するサービスを作成</span></h2>
<p><span class="bold">アプリケーション &gt; Automator.app</span></p>
<p>を開き、「<span class="bold">サービス</span>」を選択。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201112_001.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201112_001-800x538.jpg" alt="サービス" width="800" height="538" class="alignnone size-large wp-image-10064" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201112_001-800x538.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20201112_001-300x202.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201112_001-768x516.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201112_001.jpg 1024w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>左ペインから<br />
<del datetime="2026-02-10T00:26:29+00:00">「選択されたFinder項目を取得」と</del>「シェルスクリプトを実行」を右ペインに。<br />
<strong>「選択されたFinder項目を取得」は必要ありませんでした！二重にファイルを渡すことになるので追加しないで大丈夫です</strong></p>
<p>&#8220;サービス&#8221;は、次の選択項目を受け取る：イメージファイル<br />
検索対象：Finder.app</p>
<p>シェル：/bin/bash<br />
入力引渡し方法：引数として</p>
<p><a href="https://www.wholenotism.com/blog/wp-content/uploads/20201112_002.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201112_002-800x531.jpg" alt="Automator" width="800" height="531" class="alignnone size-large wp-image-10065" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201112_002-800x531.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20201112_002-300x199.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201112_002-768x510.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201112_002.jpg 1024w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<div class="alert-box">画像にある<strong>「選択されたFinder項目を取得」は必要ありません。</strong></div>
<p>スクリプトを入力</p>
<pre class="bash">
export PATH=$PATH:/usr/local/bin
for file in "$@"
do
  dwebp "$file" -o "${file%.*}".png
done
</pre>
<p>ちなみにファイルがwebpフォーマットかどうかの判別はしていませんので、<br />
違うものを入力してもエラーが表示されます。<br />
そこは”使う人自身フィルター”で。</p>
<p>あとは名前をつけて保存。</p>
<p>例：webp-&gt;png</p>
<p>など。</p>
<p><span class="bold">~/Library/Services</span></p>
<p>に保存され、webpファイル（イメージファイル）を右クリックすれば「サービス」のところに表示されます。</p>
<p>実行すると同じ場所に .png の拡張子で変換後のファイルが保存されます。<br />
複数選択可能です。</p>
<h3><span id="toc4">webpをjpgに変換したい</span></h3>
<p>デフォルトではpngフォーマットに変換されます。</p>
<p>ドキュメントマニュアルには書いていませんが<br />
出力するファイルの拡張子を .jpg に変えるだけで</p>
<p><strong>webp -&gt; jpg にも変換できます。</strong></p>
<pre class="bash">
dwebp "$file" -o "${file%.*}".jpg
</pre>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h3><span id="toc5">dwebp オプション</span></h3>
<p>簡単にいくつか紹介。</p>
<p><span class="bold">-h</span><br />
ヘルプ表示</p>
<p><span class="bold">-o string</span><br />
出力ファイルの指定。デフォルトではpng形式。</p>
<p><span class="bold">-bmp</span><br />
BMPに。</p>
<p><span class="bold">-tiff</span><br />
tiffに。</p>
<p><span class="bold">-crop x_position y_position width height</span><br />
クロップ指定。左上からの座標。</p>
<p><span class="bold">-scale width height</span><br />
スケール指定。スケーリングはクロップの後に適用。</p>
<p>その他詳しくはドキュメントを確認してください。</p>

<a rel="noopener" href="https://developers.google.com/speed/webp/docs/dwebp" title="dwebp  |  WebP  |  Google for Developers" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/cocoon-resources/blog-card-cache/c0505b96732320f2fecdf29d62684886.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">dwebp  |  WebP  |  Google for Developers</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://developers.google.com/speed/webp/docs/dwebp" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">developers.google.com</div></div></div></div></a>
<h2><span id="toc6">まとめ</span></h2>
<p>今回はwebpファイルを右クリックで png や jpg に変換する方法を紹介しました。</p>
<p>いちいちアプリケーションを開く必要がないので楽チンです。</p>
<p>Automatorのこういう気軽に扱えるところがまたいいですね。<br />
（まぁそもそもmac OS自体がさっさと対応してくれたらもっと良いんですけどね、たぶん。）</p>
<p>ということで今回は以上！<br />
それでは。</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="10063"
					data-ulike-nonce="cd88187848"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_10063"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2020/11/webp_to_png.html/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>WebPファイルをmacで表示できるようにする方法＆変換方法</title>
		<link>https://www.wholenotism.com/blog/2020/10/webp.html</link>
					<comments>https://www.wholenotism.com/blog/2020/10/webp.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Wed, 28 Oct 2020 21:48:18 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=9965</guid>

					<description><![CDATA[Macでwebp形式のファイルを表示できるようにする方法です。 とは言え既に対応ブラウザでは表示できるので 正確に言うとFinderのプレビュー画面（Quicklook）なんかでも見られるようにするプラグインを導入します [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Macで<strong>webp</strong>形式のファイルを表示できるようにする方法です。</p>
<p>とは言え既に対応ブラウザでは表示できるので<br />
正確に言うとFinderのプレビュー画面（Quicklook）なんかでも見られるようにするプラグインを導入します。</p>
<p>ついでにブラウザのキャプチャ機能を使ったpngへの変換や<br />
Photoshopで開くためのプラグイン紹介も。</p>
<p><span id="more-9965"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20"><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">WebPフォーマットとは</a></li><li><a href="#toc2" tabindex="0">ブラウザ「Firefox」を使った変換方法</a><ol><li><a href="#toc3" tabindex="0">ブラウザで開く</a></li></ol></li><li><a href="#toc4" tabindex="0">WebPQuickLookを使う</a></li><li><a href="#toc5" tabindex="0">Photoshopにもwebpに対応させる</a></li><li><a href="#toc6" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">WebPフォーマットとは</span></h2>
<p>画像フォーマットの一つ</p>
<blockquote><p>
	WebPは、米Googleが開発しているオープンな静止画像フォーマット。ファイルの拡張子は「webp」<br />
	<cite>（Wikipedia <a rel="noopener" href="https://ja.wikipedia.org/wiki/WebP" target="_blank">WebP<span class="fa fa-external-link external-icon anchor-icon"></span></a>より引用）</cite>
</p></blockquote>
<p>アルファチャンネルが使えるほか、<br />
従来のjpegやpngに比べてファイルサイズを2〜3割小さくできる、としています。</p>
<p>ただ問題は<strong>デフォルトでOSが対応していないこと。</strong><br />
見れない、開けないじゃ意味がない。</p>
<p>何も対応していなければ当然ちゃんと表示できない。</p>
<p>アイコンは真っ白<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_001.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_001.jpg" alt="アイコンは真っ白" width="190" height="175" class="alignnone size-full wp-image-9957" /></a></p>
<p>Quick lookでもグルグルするだけで表示されない<br />
当然Finderのプレビューでも同じこと。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_002.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_002-800x568.jpg" alt="グルグル" width="800" height="568" class="alignnone size-large wp-image-9958" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201029_002-800x568.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_002-300x213.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_002-768x545.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_002.jpg 918w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc2">ブラウザ「Firefox」を使った変換方法</span></h2>
<p>webp形式が見れないなら見れる形式にすれば良い。<br />
例えば <strong>webp → png</strong> に。</p>
<p>それがまず一つ目の方法。</p>
<p>mac OS側で対応できていなくてもブラウザでは開けます。<br />
safariは無理ですが。（対応していない）</p>
<h3><span id="toc3">ブラウザで開く</span></h3>
<p>ブラウザにドラッグアンドドロップ等で目的のファイルを開きます。</p>
<p>開いたら画面上で右クリックし「スクリーンショットを撮る」を選択<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_003.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_003-800x597.jpg" alt="スクリーンショットを撮る" width="800" height="597" class="alignnone size-large wp-image-9959" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201029_003-800x597.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_003-300x224.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_003-768x573.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_003.jpg 1024w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>表示されている画像の領域をクリックして選んだら<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_004.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_004-800x597.jpg" alt="領域をクリック" width="800" height="597" class="alignnone size-large wp-image-9960" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201029_004-800x597.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_004-300x224.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_004-768x573.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_004.jpg 1024w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>「ダウンロード」で規定の場所にpngとして保存されます。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_005.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_005-800x597.jpg" alt="ダウンロード" width="800" height="597" class="alignnone size-large wp-image-9961" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201029_005-800x597.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_005-300x224.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_005-768x573.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_005.jpg 1024w" sizes="(max-width: 800px) 100vw, 800px" /></a><br />
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>
</p>
<h2><span id="toc4">WebPQuickLookを使う</span></h2>
<p>形式変換はブラウザでもできますが、いちいち作業するのは面倒です。</p>
<p>最初から <strong>Quicklook</strong> に仕事してもらいましょう。</p>
<p>Quicklookとはファイルを選択してスペースバーを押せば中身がみられるあの機能です。<br />
同時にサムネイルの作成にも関与しています。</p>
<p>「<strong>WebPQuickLook</strong>」はwebpに対応させるプラグイン。<br />
→<a rel="noopener" href="https://github.com/emin/WebPQuickLook" target="_blank">https://github.com/emin/WebPQuickLook<span class="fa fa-external-link external-icon anchor-icon"></span></a></p>
<p>今回は<a rel="noopener" href="https://brew.sh/index_ja" target="_blank">Homebrew<span class="fa fa-external-link external-icon anchor-icon"></span></a>を使ってインストールします。<br />
（Homebrewのインストールは済ませておいてください）</p>
<p>ま、やることは単純。</p>
<pre class="bash">
brew install webpquicklook
</pre>
<p>これだけ。<br />
インストールが終わったら</p>
<p>サムネイルでも<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_006.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_006.jpg" alt="サムネイル" width="167" height="154" class="alignnone size-full wp-image-9962" /></a></p>
<p>クイックルックでも表示されるようになりました。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20201029_007.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20201029_007.jpg" alt="クイックルック" width="718" height="752" class="alignnone size-full wp-image-9963" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20201029_007.jpg 718w, https://www.wholenotism.com/blog/wp-content/uploads/20201029_007-286x300.jpg 286w" sizes="(max-width: 718px) 100vw, 718px" /></a></p>
<h2><span id="toc5">Photoshopにもwebpに対応させる</span></h2>
<p>Photoshop用のプラグインが配布されています。</p>
<p><a rel="noopener" href="https://developers.google.com/speed/webp/docs/webpshop" target="_blank">https://developers.google.com/speed/webp/docs/webpshop<span class="fa fa-external-link external-icon anchor-icon"></span></a><br />
アプリケーションの「プラグイン」フォルダに放り込んでください。</p>
<p>古いバージョン（Mac CS2/3/4,CS5/CS6）のPhotoshopをお使いの場合は<a rel="noopener" href="http://www.telegraphics.com.au/sw/product/WebPFormat" target="_blank">こちら<span class="fa fa-external-link external-icon anchor-icon"></span></a>。</p>
<p>お使いのバージョンにあったものをダウンロードし、アプリケーションの「プラグイン」フォルダに放り込んでください。<br />
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>
</p>
<h2><span id="toc6">まとめ</span></h2>
<p>ということで「<strong>WebPQuickLook</strong>」プラグインを導入してみました。</p>
<p>おかげでFinderでも表示されるようになりました、快適、快適。</p>
<p>色々と有用なフォーマットが増えるのは良いのですが、<br />
OSが対応してくれないと困りますね。</p>
<p>今後、このフォーマットは使われるようになっていくのでしょうか。</p>
<p>それともあまた現れては消えて行ったものの後を追うのか・・・</p>
<p>どうなんでしょ。</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="9965"
					data-ulike-nonce="067d15c314"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_9965"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2020/10/webp.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
