2022_11_18_魚種の学名・和名変換dbの作成スクリプト

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
2022_11_18_魚種の学名・和名変換dbの作成スクリプト [2022/11/30 11:12] 133.11.222.892022_11_18_魚種の学名・和名変換dbの作成スクリプト [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1
行 1: 行 1:
-``` 
-#!/bin/bash 
- 
-#このスクリプトでは、学名を和名に変換するデータベースを生成する。inputするファイルは鹿児島大学の日本産魚類全種リストを用いる(https://www.museum.kagoshima-u.ac.jp/staff/motomura/jaf.html) 
-if [ "$1" = "" ]; then echo 'USAGE: bash '$0' <input.url  #https://www.museum.kagoshima-u.ac.jp/staff/motomura/20221121_JAFList.xlsx>'; exit ;fi 
- 
-set -ex 
- 
-# フォルダ等の設定を読み込み 
-sdir=$(dirname `readlink -f "$0" || echo "$0"`) 
-source "$sdir"/config.sh 
- 
-#データベースのダウンロード 
-wget -O /tmp/specieslist.xlsx $1 
- 
-#xlsx2csvのインストール 
-#pip install --user xlsx2csv 
- 
-#xlsxをcsvに変換し、学名と和名だけを抽出。 
- 
-#学名に関して、属名と種小名の2単語のみを抽出したDBの作成 
-#セル内カンマ、セル内改行に対応させるためawk FPAT, nextを使う 
-xlsx2csv /tmp/specieslist.xlsx | awk -v FPAT='[^,]*|"[^"]+"' '{ 
-  l=l$0;if(l!=""&&split(l,t,"\"")%2==0){l=l" ";next};$0=l;l=""; for(i=1;i<=NF;i++){sub("^\"","",$i); sub("\"$","",$i)}; 
-  if($4!="和名なし"){split($5,array," "); print $4"\t"array[1]" "array[2]} 
- }' > $workdir/db/scientificname2japanesename_2words.csv 
- 
-#学名に関して、3単語以上の場合においても全てを抽出したDBの作成 
-#セル内カンマ、セル内改行に対応させるためawk FPAT, nextを使う 
-xlsx2csv /tmp/specieslist.xlsx | awk -v FPAT='[^,]*|"[^"]+"' '{ 
-  l=l$0;if(l!=""&&split(l,t,"\"")%2==0){l=l" ";next};$0=l;l=""; for(i=1;i<=NF;i++){sub("^\"","",$i); sub("\"$","",$i)}; 
-  if($4!="和名なし"){print $4"\t"$5} 
- }' > $workdir/db/scientificname2japanesename_complete.csv 
- 
-#xlsx2csv -e -d tabを使うのが最も効率的かも? 
-#xlsx2csv -e -d tab /tmp/specieslist.xlsx |awk -F"\t" '{if($4!="和名なし")print $4"\t"$5}'|awk -F"\t" '{split($2,array," ");print $1"\t"array[1]" "array[2];}' > $workdir/db/scientificname2japanesename_2words.csv 
-#xlsx2csv -e -d tab /tmp/specieslist.xlsx |awk -F"\t" '{if($4!="和名なし")print $4"\t"$5"\t"$2}' > $workdir/db/scientificname2japanesename_complete.csv 
- 
-#欠落している種を手動で追加 
-cat $workdir/db/additional_species_2words.csv >> $workdir/db/scientificname2japanesename_2words.csv 
-cat $workdir/db/additional_species_complete.csv >> $workdir/db/scientificname2japanesename_complete.csv 
-``` 
- 
-====== 修正後スクリプト ====== 
- 
-・変換dbを一つに統一し、学名・和名だけでなく、科名も追加。 
- 
-・xlsx2csvの変換(ダブルクォーテーションを取るなど)をよりエレガント?にした 
- 
-``` 
-#!/bin/bash 
- 
-#このスクリプトでは、学名を和名に変換するデータベースを生成する。inputするファイルは鹿児島大学の日本産魚類全種リストを用いる(https://www.museum.kagoshima-u.ac.jp/staff/motomura/jaf.html) 
-if [ "$1" = "" ]; then echo 'USAGE: bash '$0' <input.url  #https://www.museum.kagoshima-u.ac.jp/staff/motomura/20221121_JAFList.xlsx>'; exit ;fi 
- 
-set -ex 
- 
-# フォルダ等の設定を読み込み 
-sdir=$(dirname `readlink -f "$0" || echo "$0"`) 
-source "$sdir"/config.sh 
- 
-#データベースのダウンロード 
-wget -O /tmp/specieslist.xlsx $1 
- 
-#xlsx2csvのインストール 
-#pip install --user xlsx2csv 
- 
-#xlsxをcsvに変換し、学名・和名・科名だけを抽出。 
-xlsx2csv -e -d tab /tmp/specieslist.xlsx |awk -F"\t" '{if($4!="和名なし")print $4"\t"$5"\t"$2;}' > $workdir/db/scientificname2japanesename_complete.csv 
- 
-#欠落している種を手動で追加 
-cat $workdir/db/additional_species_complete.csv >> $workdir/db/scientificname2japanesename_complete.csv 
- 
-``` 
  
  • 2022_11_18_魚種の学名・和名変換dbの作成スクリプト.1669806721.txt.gz
  • 最終更新: 2022/11/30 11:12
  • by 133.11.222.89