Text-Processing
根據文件 A 指定的順序,使用文件 A 中的數字從文件 B 中獲取唯一 ID
我想使用 file 的編號根據 file指定的順序
whitelist.txt
從 file 中獲取唯一的標識號。例子:list.txt``whitelist.txt
$ cat whitelist.txt: 2 5 7 10 11 (+8,000 more lines) $ cat list.txt 2 172363 14 17 612851 172414 172418 172419 172424 19 72457 (+ 150,000 more lines)
這樣我就可以重定向到一個新文件:
$ cat newfile.txt 172363 612851 172418 19 72457 (+8,000 more lines)
注意:此問題已被修改。以下 2017 年 5 月 5 日之前的答案基於
list.txt
格式為(例如第一行)>CLocus_2_Sample_
(而不僅僅是數字 2)的輸入樣本 ( ),並且文件名是file.fa
(notfile.txt
)。
根據修改後的數據,嘗試這樣的事情:
$ sed -nf <(sed 's/.*/&p/g' whitelist.txt) list.txt >newfile.txt
這將文件的條目
whitelist.txt
從 ie2
轉換2p
為指示外部sed
列印該行2
==> 等於sed -n '2p'
==> 列印第二行。的所有條目都會發生同樣的情況
whitelist.txt
,創建一個 sed 腳本(用程序替換提供外部 sed),包含2p
、5p
、7p
等,並且列印 list.txt 的那些行。替代方案:預處理 whitelist.txt:
sed 's/.*/&p/g' whitelist.txt >whitelist2.txt #or sed -i '....' whitelist.txt to overwrite whitelist.txt sed -nf whitelist2.txt list.txt # you can redirect output to >newfile.txt