Hiro.Sさん、
漸く中間の纏めです。
今回は元ファイル「~/Music/radio_list.txt」から出発して、
表の元となるデータファイル「~/Sites/myJS/data/Radio_List.tsv」を生成して、
そのデータを表示するファイル「~/Sites/myJS/Radio_List.html 」を起動させる為の、
bashスクリプト「radioListView」を説明します。
「radioListView」では、
•元ファイル全体に連番(#)を振り、
•その中を単語でサーチする機能(-s "xy z")、
•結果の最新の行数に限定(-l 4 ← 4行にセット)して表示。
•パラメータ無しでは全部の表を表示。
実例として、単純に最新の4行限定の場合;

「"Eighth Note"」で検索して、その最新の4行限定の場合;

といった具合です。
そこで、bashスクリプト「radioListView」を以下に示します;
#!/bin/bash
#set -x
# files
org=${HOME}/Music/radio_list.txt
mid=${HOME}/Sites/myJS/data/radio_list.mid.tsv
mid2=${HOME}/Sites/myJS/data/radio_list.mid2.tsv
res=${HOME}/Sites/myJS/data/Radio_List.tsv
#2桁の数字; 00~99
nn="[0-9][0-9]"
# getopts: 入門UNIXシェル・プログラミング、p143~
#
# radioList_setup [-l lineNum] [sortingWords]
# lineNum: "line number" in tail command >=1, lineNum=0 → whole table.
# sortWords: use in grep command
lineNum=0
searchWords=""
while getopts l:s: OPT
do
case $OPT in
l) lineNum=$OPTARG;;
s) searchWords="$OPTARG";;
\?) echo "Usage: $0 [-l lineNum] [-s sortWords] parameters" 1>&2
exit 1;;
esac
done
#
# Headings of Table for List of Streaming Radios
#
echo -e " # \t date-time \t Music Stations \t music information" > $res
#
# add absolute Sequencial Number
#
# 「-HHMMSS\t」→「-HH:MM\t」
#
cat -n $org | sed -e "s/-\($nn\)\($nn\)\($nn\)${mytab}/-\1:\2${mytab}/" > $mid
#
# searchWords with grep
#
if [ "$searchWords" = "" ]
then
# no search
cp $mid $mid2
else
# search with "$searchWords"
cat $mid | grep "$searchWords" > $mid2
fi
#
# last-lines with tail
#
if [ $lineNum -eq 0 ]
then
# no tail
cat $mid2 >> $res
else
# do tail
cat $mid2 | tail -n $lineNum >> $res
fi
#
# show table in brouser
#
open ${HOME}/Sites/myJS/Radio_List.html
また、データを表示するファイル「~/Sites/myJS/Radio_List.html 」を以下に示します;
<html>
<head>
<script src="./js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="./js/jquery.csv2table-0.02-b-4.3.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="view0"></div>
<script>
$(function(){
$('#view0').csv2table('./data/Radio_List.tsv',{
col_sep:'\t',
row_sep:'\n',
onload : function(id,op,data,ary){
$('tr:even','#'+id).css('background','#eee')
}
});
});
</script>
</body>
</html>
以前教えて戴いたのとほとんど同じですが、上記ファイルは「~/Sites/myJS/Radio_List.html 」にあります。