Regex 筛选并创建表
我试图从文本中创建一个表,但无法得到想要的结果 全文如下: 正在读取序列文件/scratch/mauve\u pro/populations/africa/rebuild\u xmfa/block\u fasta/africa\u final\u remove\u new.100.fasta 正在读取序列文件/scratch/mauve\u pro/populations/africa/rebuild\u xmfa/block\u fasta/africa\u final\u remove\u new.101.fastaRegex 筛选并创建表,regex,linux,awk,sed,grep,Regex,Linux,Awk,Sed,Grep,我试图从文本中创建一个表,但无法得到想要的结果 全文如下: 正在读取序列文件/scratch/mauve\u pro/populations/africa/rebuild\u xmfa/block\u fasta/africa\u final\u remove\u new.100.fasta 正在读取序列文件/scratch/mauve\u pro/populations/africa/rebuild\u xmfa/block\u fasta/africa\u final\u remove\u
NSS: 8.52e-01 (1000 permutations)
Max Chi^2: 2.20e-02 (1000 permutations)
PHI (Permutation): 3.78e-01 (1000 permutations)
PHI (Normal): 4.53e-01
这是代码:
cat africa_final_conca_phi.txt | sed 's/NSS/NSS NA/g' | grep -E "^NSS|^Max|^PHI" | awk '{{print $1 "\t" $2 "\t" $3 "\t{genome_stem}\t{single_gene_stem}"}}' > phiresult.tab
我尝试的另一个代码是:
cat africa_final_conca_phi.txt | sed 's/NSS/NSS NA/g' | grep -E "^NSS|^Max|^PHI" | gene=$(printf '%s' "$africa_final_conca_phi.txt" | grep -Eo 'africa_final_remove_new.[0-9][0-9][0-9].fasta') | awk '{{print $1 "\t" $2 "\t" $3 "\t gene \t{single_gene_stem}"}}' > phiresult.tab
结果:
NSS NA: 1.60e-02 {genome_stem}
Max Chi^2: 6.20e-02 {genome_stem}
PHI (Permutation): 5.28e-01 {genome_stem}
PHI (Normal): 4.73e-01 {genome_stem}
NSS NA: 8.52e-01 {genome_stem}
Max Chi^2: 2.20e-02 {genome_stem}
PHI (Permutation): 3.78e-01 {genome_stem}
PHI (Normal): 4.53e-01 {genome_stem}
NSS NA: 0.00e+00 {genome_stem}
我想要的是:
NSS NA: 1.60e-02 africa_final_remove_new.100.fasta
Max Chi^2: 6.20e-02 africa_final_remove_new.100.fasta
PHI (Permutation): 5.28e-01 africa_final_remove_new.100.fasta
PHI (Normal): 4.73e-01 africa_final_remove_new.100.fasta
NSS NA: 8.52e-01 africa_final_remove_new.101.fasta
Max Chi^2: 2.20e-02 africa_final_remove_new.101.fasta
PHI (Permutation): 3.78e-01 africa_final_remove_new.101.fasta
PHI (Normal): 4.53e-01 africa_final_remove_new.101.fasta
这一行可能有助于:
awk '{sub(/[(][^)]*[)]$/,"")}/^NSS/{$1="NSS AN:"}{$(NF+1)=FILENAME}7' *.fasta
让我们来测试一下:
kent$ head *.fasta
==> 100.fasta <==
NSS: 1.60e-02 (1000 permutations)
Max Chi^2: 6.20e-02 (1000 permutations)
PHI (Permutation): 5.28e-01 (1000 permutations)
PHI (Normal): 4.73e-01
==> 101.fasta <==
NSS: 8.52e-01 (1000 permutations)
Max Chi^2: 2.20e-02 (1000 permutations)
PHI (Permutation): 3.78e-01 (1000 permutations)
PHI (Normal): 4.53e-01
kent$ awk '{sub(/[(][^)]*[)]$/,"")}/^NSS/{$1="NSS AN:"}{$(NF+1)=FILENAME}7' *.fasta
NSS AN: 1.60e-02 100.fasta
Max Chi^2: 6.20e-02 100.fasta
PHI (Permutation): 5.28e-01 100.fasta
PHI (Normal): 4.73e-01 100.fasta
NSS AN: 8.52e-01 101.fasta
Max Chi^2: 2.20e-02 101.fasta
PHI (Permutation): 3.78e-01 101.fasta
PHI (Normal): 4.53e-01 101.fasta
kent$head*.fasta
==>100.fasta 101.fasta谢谢,这是一个伟大的时刻help@AlexGZ如果答案解决了你的问题,请接受
kent$ head *.fasta
==> 100.fasta <==
NSS: 1.60e-02 (1000 permutations)
Max Chi^2: 6.20e-02 (1000 permutations)
PHI (Permutation): 5.28e-01 (1000 permutations)
PHI (Normal): 4.73e-01
==> 101.fasta <==
NSS: 8.52e-01 (1000 permutations)
Max Chi^2: 2.20e-02 (1000 permutations)
PHI (Permutation): 3.78e-01 (1000 permutations)
PHI (Normal): 4.53e-01
kent$ awk '{sub(/[(][^)]*[)]$/,"")}/^NSS/{$1="NSS AN:"}{$(NF+1)=FILENAME}7' *.fasta
NSS AN: 1.60e-02 100.fasta
Max Chi^2: 6.20e-02 100.fasta
PHI (Permutation): 5.28e-01 100.fasta
PHI (Normal): 4.73e-01 100.fasta
NSS AN: 8.52e-01 101.fasta
Max Chi^2: 2.20e-02 101.fasta
PHI (Permutation): 3.78e-01 101.fasta
PHI (Normal): 4.53e-01 101.fasta