hostIPコマンドを実行した後、リストにドメイン+ TLDがあることを確認しようとしています。 私のスクリプトは次のとおりです while read ip; do
PTR=$(host $ip | rev | cut -d" " -f1 | rev | sed 's/\.$//')
if grep -q "$PTR" list.txt
then
echo "Match in list"
else
echo "No match in list"
fi
done
8番目と9番目のフィールド/列を生成し、適切な文字を4列と5列の数字にエンコードしたいと思います。コロンで区切られた6つの数字は次のとおりです。A:T:C:G:N:del 注:列6と7の一部の行が空でした。 NAを挿入してこの問題を解決しました。 awk -F'[[:space:]]' '$5 && !$6{ $6="NA" }1'
awk -F'[[:space:]]' '$6 && !$7{ $7="NA" }1'
次に、もう一度タブを使用してファイルを区切ります。sed -e 's/ /\t/g' ファイル.tsv NW_006532398.1 302035 C 0:0:32:0:0:0 42:0:0:0:0:0 KCND2 intergenic_region
NW_006532656.1 289636 C 0:0:28:0:0:0 0:28:0:0:0:0 CNTN1 intron_variant
NW_006532762.1 6396 C 0:54:0:0:0:0 0:0:53:0:0:0 NA intergenic_region
NW_006532762.1 25741 C 0:0:62:0:0:0 0:43:0:0:0:0 NA intergenic_region
NW_006532762.1 32304 T 0:60:0:0:0:0 0:0:49:0:0:0 NA intergenic_region
NW_006532762.1 179065 G 0:0:0:45:0:0 59:0:0:0:0:0 DOCK4 intron_variant
出力 example.tsv NW_006532398.1 302035 C 0:0:32:0:0:0 42:0:0:0:0:0 KCND2 intergenic_region C A
NW_006532656.1 289636 C 0:0:28:0:0:0 0:28:0:0:0:0 CNTN1 intron_variant C T
NW_006532762.1 6396 C 0:54:0:0:0:0 0:0:53:0:0:0 NA intergenic_region T C
NW_006532762.1 25741 C 0:0:62:0:0:0 0:43:0:0:0:0 NA intergenic_region C T
NW_006532762.1 32304 T 0:60:0:0:0:0 0:0:49:0:0:0 NA intergenic_region T C
NW_006532762.1 179065 G 0:0:0:45:0:0 59:0:0:0:0:0 DOCK4 intron_variant G A
どんな助けでも大変感謝します! !
rsync(できるので)大きなフォルダAをBにコピーしたりバックアップしたいです。https://stackoverflow.com/a/65485164/1707015。 うまくいきますが、時にはBをクリーンアップしてBから古いファイルを削除したいです(Aから削除された場合)。 Aから削除されたファイルをインポートする必要があります(Bでも削除できるように)。 $ cat A_files.txt # for example: think the small letters as paths like ./some/path/file.yaml
a
c
d
e
f
$ cat B_files.txt
a
b
c
d
$ \grep -f A_files.txt -F -v B_files.txt
b
(バックスラッシュは\色などのgrepエイリアスを使用しないためです。) これはうまくいきますが、小さなファイルにのみ当てはまります。ファイル名あたり100MBを超えるファイルの場合は、100GB以上のRAMが必要です。 誰かがよりリソース効率の良いバリエーションを提供できますか?もちろん可能ですrsync。しかし、楽しさや練習目的で使用するためのものではありません。