aboutsummaryrefslogtreecommitdiffstats
path: root/extra/cleanups/check_extid.sh
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2021-11-29 15:02:27 -0800
committerBryan Newbold <bnewbold@robocracy.org>2021-11-29 15:02:27 -0800
commit7c6afa0a21883dc8037f3d021246db24eef39b41 (patch)
tree3fa7c1e595248a46e88ea62c2f9f70106186b0fe /extra/cleanups/check_extid.sh
parentc32154f2875a7fb9aac727013e1475cdd811e180 (diff)
downloadfatcat-7c6afa0a21883dc8037f3d021246db24eef39b41.tar.gz
fatcat-7c6afa0a21883dc8037f3d021246db24eef39b41.zip
clean up extra/ folder a bit
Diffstat (limited to 'extra/cleanups/check_extid.sh')
-rwxr-xr-xextra/cleanups/check_extid.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/extra/cleanups/check_extid.sh b/extra/cleanups/check_extid.sh
new file mode 100755
index 00000000..f74f50b6
--- /dev/null
+++ b/extra/cleanups/check_extid.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+set -e -u -o pipefail
+
+export LC_ALL=C
+
+EXTID_FILE=$1
+
+zcat $EXTID_FILE \
+ | awk '{print $3 "\t" $1}' \
+ | rg -v '^\t' \
+ | sort -S 4G \
+ > doi_ident.tsv
+zcat $EXTID_FILE \
+ | awk '{print $4 "\t" $1}' \
+ | rg -v '^\t' \
+ | sort -S 4G \
+ > pmid_ident.tsv
+zcat $EXTID_FILE \
+ | awk '{print $5 "\t" $1}' \
+ | rg -v '^\t' \
+ | sort -S 4G \
+ > pmcid_ident.tsv
+zcat $EXTID_FILE \
+ | awk '{print $6 "\t" $1}' \
+ | rg -v '^\t' \
+ | sort -S 4G \
+ > wikidata_ident.tsv
+
+# these identifiers aren't fixed-width, so we need to join (sigh)
+cut -f1 doi_ident.tsv \
+ | uniq -d \
+ | join -t$'\t' - doi_ident.tsv \
+ > doi_ident.dupes.tsv
+cut -f1 pmid_ident.tsv \
+ | uniq -d \
+ | join -t$'\t' - pmid_ident.tsv \
+ > pmid_ident.dupes.tsv
+cut -f1 pmcid_ident.tsv \
+ | uniq -d \
+ | join -t$'\t' - pmcid_ident.tsv \
+ > pmcid_ident.dupes.tsv
+cut -f1 wikidata_ident.tsv \
+ | uniq -d \
+ | join -t$'\t' - wikidata_ident.tsv \
+ > wikidata_ident.dupes.tsv
+
+wc -l doi_ident.dupes.tsv pmid_ident.dupes.tsv pmcid_ident.dupes.tsv wikidata_ident.dupes.tsv >> counts.txt
+