user2300940
user2300940

Reputation: 2385

tab separated output from grep

I want to get a tab separated outout of my columns from the script below. Apparantly | column -t is not the way to do it.

for f in Hairpin_*_Collapsed_Mapped.sam; do
base_name=${f%.txt}
id=${base_name#*_}
grep mmu "$f" | column -t > "mmu_${id}.sam"
done

Examples input:

98-18866        0       mmu-mir-27b     49      34      21M     *       0       0       TTCACAGTGGCTAAGTTCTGC   IIIIIIIIIIIIIIIIIIIII   AS:i:0  XS:i:-6 XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:21 YT:Z:UU

Output of grep mmu "$f"

386556-1   0                   mmu-mir-6937    3    255  17M      *  0  0  GCTCTAAGGGCTGGGTC           IIIIIIIIIIIIIIIII           AS:i:-6   XN:i:0    XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:3G13        YT:Z:UU
386614-1   0                   mmu-mir-205     7    255  22M      *  0  0  TCCTTCATTCCACCGTAGTCTG      IIIIIIIIIIIIIIIIIIIIII      AS:i:-6   XN:i:0    XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:15G6        YT:Z:UU
386681-1   0                   mmu-mir-5107    10   255  20M      *  0  0  TTGTGCAGAGGAGGCAGGGA        IIIIIIIIIIIIIIIIIIII        AS:i:-6   XN:i:0    XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:3G16        YT:Z:UU
386733-1   0                   mmu-mir-320     16   255  23M      *  0  0  GCCTTCTCTTCCCGGTTCTTCCT     IIIIIIIIIIIIIIIIIIIIIII     AS:i:-6   XN:i:0    XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:22C0        YT:Z:UU
386669-1   0                   mmu-mir-221     20   255  25M      *  0  0  ACCTAGCATACAATGTAGATTTCTG   IIIIIIIIIIIIIIIIIIIIIIIII   AS:i:-6   XN:i:0    XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:4G20 

Upvotes: 1

Views: 1049

Answers (1)

gilhad
gilhad

Reputation: 609

For simple tab fbefore each column I would use

grep mmu "$f" |sed "s/ \+/\t/g" > "mmu_${id}.sam"

Upvotes: 1

Related Questions