ファイルの読み書き

久しぶりのバッチスクリプトネタ。

for /fでファイルを読むと、空行の無視その他いろいろ問題があるので、どんなテキストファイルでも読む方法。

@echo off
setlocal enabledelayedexpansion
set INFILE=XXXXXXXX
set OUTFILE=YYYYYYYY
for /f %%A in ('find /c /v "" ^<%INFILE%') do set N=%%A
(
  for /l %%A in (1,1,%N%) do (
    set XXX=
    set /p XXX=
    echo:!XXX!
  )
) < %INFILE% > %OUTFILE%

続々:「鎌倉殿の13人」の配役

約1年ごとに更新している大河ドラマ「鎌倉殿の13人」と「草燃える」の配役の年齢比較の3回目で多分最後の更新。

「鎌倉殿の13人」の配役続:「鎌倉殿の13人」の配役

もうWikipediaも更新されないと思うけど。

で、なんと「草燃える」のページが更新されており、人名リストがこの1年で175→209エントリーと30名以上増加している。「鎌倉殿」の影響で「草燃える」を見直した人が更新してくれたのだろう。

  • 各番組のWikipedia掲載のキャストで、生年がWikipedia上で確認できる人が対象
  • できるだけ同じ人を同定して対応させる
  • 年齢の比較が目的なので、どちらかの生年が不明な場合は対象外
  • 年齢は放映年から生年を単純に引いた物
  • 役名は鎌倉殿の方を掲載
  • 八重と茜は別人だが立ち位置がほぼ同じなので対応させた
役名 鎌倉殿の13人 2022年齢 草燃える 1979年齢 年齢差
北条義時 小栗旬 40 松平健 26 14
八重/茜 新垣結衣 34 松坂慶子 27 7
比奈 堀田真由 24 坂口良子 24 0
北条泰時 坂口健太郎 31 中島久之 27 4
北条時政 坂東彌十郎 66 金田龍之介 51 15
りく 宮沢りえ 49 大谷直子 29 20
北条宗時 片岡愛之助 50 中山仁 37 13
北条時房 瀬戸康史 34 森田順平 25 9
牧宗親 山崎一 65 中井啓輔 43 22
伊賀光季 日笠圭 45 宇南山宏 44 1
源頼朝 大泉洋 49 石坂浩二 38 11
政子 小池栄子 42 岩下志麻 38 4
江口のりこ 42 結城しのぶ 26 16
大姫 南沙良 20 池上季実子 20 0
源頼家 金子大地 26 郷ひろみ 24 2
せつ 山谷花純 26 白都真理 21 5
公暁 寛一郎 26 堀光昭 24 2
源実朝 柿澤勇人 35 篠田三郎 31 4
千世 加藤小夏 23 多岐川裕美 28 -5
阿野全成 新納慎也 47 伊藤孝雄 42 5
実衣 宮澤エマ 34 真野響子 27 7
源義経 菅田将暉 29 国広富之 26 3
静御前 石橋静河 28 友里千賀子 22 6
源行家 杉本哲太 57 戸浦六宏 49 8
平賀朝雅 山中崇 44 伊東平山 28 16
きく 八木莉可子 21 神保なおみ 26 -5
伊東祐親 浅野和之 68 久米明 55 13
伊東祐清 竹財輝之助 42 橋爪功 38 4
工藤祐経 坪倉由幸 45 加藤和 51 -6
曽我十郎 田邊和也 37 三ツ木清隆 26 11
曽我五郎 田中俊介 32 原康義 27 5
三浦義澄 佐藤B作 73 早川雄三 54 19
三浦義村 山本耕史 46 藤岡弘 33 13
駒若丸 込江大牙 13 京本政樹 20 -7
三浦胤義 岸田タツ 30 柴俊夫 32 -2
岡崎義実 たかお鷹 74 小栗一也 56 18
和田義盛 横田栄司 51 伊吹吾郎 33 18
朝比奈義秀 栄信 37 北村総一郎 44 -7
和田胤長 細川岳 30 大阪憲 38 -8
比企能員 佐藤二朗 53 佐藤慶 51 2
堀内敬子 51 横山道代 43 8
畠山重忠 中川大志 24 森次晃嗣 36 -12
ちえ 福田愛依 22 伊藤つかさ 12 10
畠山重保 杉田雷麟 20 神有介 26 -6
安達盛長 野添義弘 64 武田鉄矢 30 34
安達景盛 新名基浩 40 火野正平 30 10
工藤茂光 米本学仁 43 坂本由英 48 -5
大庭景親 國村隼 67 加藤武 50 17
土肥実平 阿南健治 60 田豊 45 15
梶原景時 中村獅童 50 江原真二郎 43 7
梶原景季 柾木玲弥 27 宮崎達也 24 3
山内首藤経俊 山口馬木也 49 田中明 53 -4
あき 尾碕真花 22 中村久美 18 4
千葉常胤 岡本信人 74 小笠原弘 52 22
上総広常 佐藤浩市 62 小松方正 53 9
結城朝光 高橋侃 27 内田稔 52 -25
三善康信 小林隆 63 石濱朗 44 19
大江広元 栗原英雄 57 岸田森 40 17
二階堂行政 野仲イサオ 63 谷津勲 50 13
平清盛 松平健 69 金子信雄 56 13
平宗盛 小泉孝太郎 44 西田健 34 10
平維盛 濱正悟 28 須永慶 36 -8
平知盛 岩男海史 31 神太郎 37 -6
後白河法皇 西田敏行 75 尾上松緑 66 9
後鳥羽上皇 尾上松也 37 尾上辰之助 33 4
丹後局 鈴木京香 54 草笛光子 46 8
藤原兼子 シルビア・グラブ 48 夏純子 30 18
九条兼実 田中直樹 51 高橋昌也 49 2
慈円 山寺宏一 61 大塚国夫 46 15
平知康 矢柴俊博 51 津村隆 36 15
土御門通親 関智一 50 仲谷昇 50 0
一条高能 木戸邑弥 30 三沢慎吾 29 1
源仲章 生田斗真 38 小倉馨 38 0
文覚 市川猿之助 47 観世栄夫 52 -5
文陽房覚淵 諏訪太朗 68 増田順司 64 4
陳和卿 テイ龍進 49 草薙幸二郎 50 -1
43.9 37.7 6.2

前回と比べ、年齢差は9.5歳→6.2歳と縮まった。 源家、北条家、平家、朝廷、13人メンバーくらいに絞ってみると、差は8.9歳とやや広がる。

両方に出ているのは、松平健(義時→清盛)と草笛光子丹後局→比企の尼)だけかと思ったら、岡本信人藤原定家→千葉常胤)もいた!

タスクバーの検索でウェブ検索しない

何で今まで調べなかったんだろうと思う。 このレジストリ変更で、ウェブ検索しなくなる。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Search]
"CortanaConsent"=dword:00000000
"BingSearchEnabled"=dword:00000000

そもそも、なんでこれにウェブ検索機能を付けようと思ったのか不思議。

Bashの改行文字

Bashの知らなかった機能。

stty -icrnlで、CRのNLへの置換を抑止しても、対話型Bashでは、EnterやCtrl-Mでコマンドが実行出来る。 cat -vにEnterやCtrl-Mを与えてみると、ちゃんと^Mと表示され、stty -icrnlが効いていることがわかる。

$ echo $'pwd\rls\r' | bash
bash: 行 1: $'pwd\rls\r': コマンドが見つかりません
$ echo $'pwd\rls\r' | bash -i
ちゃんとpwdとlsが実行される

じゃあ、改行文字がCRLFのファイルを実行する時に、bash -i ファイル名で良いのかというと駄目。

$ echo $'pwd\rls\r' > foo
$ bash -i foo
bash: $'pwd\rls\r': コマンドが見つかりません
$ bash -i < foo
これは上記と同じくちゃんと実行される

bash -i < ファイル名ならOK。

追記: 投稿の数分後、ふと、これはreadlineの機能では無いか??と思いつき、bash --noediting -iとしてみると、EnterやCtrl-Mではコマンド実行出来ない。^Mと表示されるだけ。やっぱりreadlineだったようだ。

$ bind -p | grep "C-[jm]"
"\C-j": accept-line
"\C-m": accept-line

CentOS8 から CentOS8 Stream への移行

CentOS8のサポートが切れるのでとりあえずStreamに移行した。 特に問題発生せず。

# dnf install centos-release-stream
# dnf swap centos-{linux,stream}-repos
  /etc/yum.repos.d 以下が切り替わる
# dnf distro-sync
  パッケージのインストール/アップデート/ダウングレード
# cat /etc/centos-release
    CentOS Stream release 8

続:「鎌倉殿の13人」の配役

約1年前に大河ドラマ「鎌倉殿の13人」と「草燃える」の配役の年齢比較を書いたが (「鎌倉殿の13人」の配役 )、 その後に追加で発表された配役があるので、現時点で再作成してみた。

やはり、松平健26が目立つ。渋沢栄一吉沢亮が27だったのでそれより若い。 まあ、主役は政子の岩下志麻という位置づけなのだろうが、事実上の主役だったと思う。

役名 鎌倉殿の13人 2022年齢 草燃える 1979年齢 年齢差
北条義時 小栗旬 40 松平健 26 14
北条時政 坂東彌十郎 66 金田龍之介 51 15
北条宗時 片岡愛之助_(6代目) 50 中山仁 37 13
北条政子 小池栄子 42 岩下志麻 38 4
源頼朝 大泉洋 49 石坂浩二 38 11
源頼家 金子大地 26 郷ひろみ 24 2
大姫 南沙良 20 池上季実子 20 0
源義経 菅田将暉 29 国広富之 26 3
源範頼 迫田孝也 45 山本寛 42 3
阿野全成 新納慎也 47 伊藤孝雄 42 5
亀の前 江口のりこ 42 結城しのぶ 26 16
安達盛長 野添義弘 64 武田鉄矢 30 34
伊東祐親 浅野和之 68 久米明 55 13
伊東祐清 竹財輝之助 42 橋爪功 38 4
工藤祐経 坪倉由幸 45 加藤和 51 -6
仁田忠常 高岸宏行 30 中田譲治 25 5
比企能員 佐藤二朗 53 佐藤慶 51 2
畠山重忠 中川大志 24 森次晃嗣 36 -12
梶原景時 中村獅童_(2代目) 50 江原真二郎 43 7
和田義盛 横田栄司 51 伊吹吾郎 33 18
三浦義澄 佐藤B作 73 早川雄三 54 19
三浦義村 山本耕史 46 藤岡弘、 33 13
岡崎義実 たかお鷹 74 小栗一也 56 18
土肥実平 阿南健治 60 田豊 45 15
首藤経俊 山口馬木也 49 田中明 53 -4
大庭景親 國村隼 67 加藤武 50 17
上総広常 佐藤浩市 62 小松方正 53 9
千葉常胤 岡本信人 74 小笠原弘 52 22
三善康信 小林隆 63 石濱朗 44 19
大江広元 栗原英雄 57 岸田森 40 17
後白河法皇 西田敏行 75 尾上松緑_(2代目) 66 9
丹後局 鈴木京香 54 草笛光子 46 8
平知康 矢柴俊博 51 津村鷹志 36 15
牧宗親 山崎一 65 中井啓輔 43 22
平清盛 松平健 69 金子信雄 56 13
平宗盛 小泉孝太郎 44 西田健 34 10
平維盛 濱正悟 28 須永慶 36 -8
文覚 市川猿之助_(4代目) 47 観世栄夫 52 -5
51.1 41.6 9.5

年齢は放送年の誕生日が来たらなので、撮影時は約1歳下のはず。

Chromedriverの自動アップデートスクリプト for Windows

Chromeブラウザのバージョンアップは自動的に行われるので、それに追随してChromedriver.exeもアップデートするPowerShellスクリプト。 タスクスケジューラで毎日実行する。

$BIN="D:\usr\local\bin"
$CHROME="C:\Program Files (x86)\Google\Chrome\Application"

$VerBrw = (Get-Childitem "$CHROME\[0-9]*" -Directory -Name).split(".")[0]
$VerDrv = (Invoke-Expression "$BIN/chromedriver --version").split(" ")[1].split(".")[0]

echo "Browser=$VerBrw"
echo "Driver =$VerDrv"

if($VerBrw -eq $VerDrv){
   exit
}

$Version = (Invoke-Webrequest -Uri "https://chromedriver.chromium.org/downloads" |
  Select-String -Pattern "path=($VerBrw[0-9.]+)" |
  ForEach-Object { $_.Matches.Groups[1].Value })

cd "$env:TEMP"
$URL = "https://chromedriver.storage.googleapis.com/$Version/chromedriver_win32.zip"
Invoke-Webrequest -Uri $URL -OutFile "chromedriver_win32.zip"
expand-archive -Path chromedriver_win32.zip -Force
Move-Item "chromedriver_win32\chromedriver.exe" "$BIN" -Force