min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash 2つのファイルを行単位で連結する(各ファイルの行を相互に取り出し合体して1行にする)paste -d "\n"

 

前回、radiko の画像をまとめてダウンロードした。

min117.hatenablog.com

これを HTML に埋め込んで、ラジオ局をクリックしたらテレビでラジコが再生されるようにしたい。

<目指す完成形>

iPadでアイコンタップすると

f:id:min117:20171209224610p:plain

ラズパイがラジコ再生を実行して

f:id:min117:20170730110027j:plain

テレビでラジコが聞ける。

f:id:min117:20171208010917p:plain

<今回やりたいこと>

2つのファイルの各行を相互に合体したい。

つまり左のファイル右のファイルから1行ずつ取り出し

<input type="radio" name="CH" value="FMNIIGATA"><img src="FMNIIGATA

<input type="radio" name="CH" value="FMPORT"><img src="FMPORT

<input type="radio" name="CH" value="KNB"><img src="KNB

…のようにしたい。

<使うファイル>

$ cat radiko_list_HTML_01.txt

f:id:min117:20171209143323p:plain

$ cat radiko_list_ALL.txt

f:id:min117:20171209143943p:plain

<コマンド>

paste -d "\n" 左のファイル 右のファイル

でいける。paste コマンドの詳細はこのへん。

pasteコマンド(複数のファイルを行単位で連結する) : JP1/Advanced Shell

やってみる。

$ paste -d "\n" cat radiko_list_HTML_01.txt cat radiko_list_ALL.txt

f:id:min117:20171209145618p:plain

各行ごとに合体された。リダイレクトでファイルに落とす。

$ paste -d "\n" radiko_list_HTML_01.txt radiko_list_ALL.txt >> radiko_list_HTML_02.txt

f:id:min117:20171209145754p:plain

vim で開いて「src="」のあとの改行を取り去る

$ vim radiko_list_HTML_02.txt

f:id:min117:20171209145949p:plain

vimのコマンドで「 :%s/src="¥n/src="/g」とすれば、改行が消える。

f:id:min117:20171209150134p:plain

これで、ラジコの画像それぞれに局をリンクできる。

f:id:min117:20171119124244p:plain

行末に一気に文字列を追加するワザも一緒に使うと便利。

min117.hatenablog.com

完成した。例えば「TOKYO FM」をタップして選択すると

f:id:min117:20171209224610p:plain

ラズベリーパイを(HDMIで)繋いだテレビから、東京FMが流れる。

f:id:min117:20171209224602p:plain

最高。