I’m really sorry, I’m having problems with the same old thing – awk and sed
I want to convert large text files containing:
>hg19_ct_UserTrack_3545_12513 range=chr1:52035541-52035716 5'pad=0 3'pad=0 strand=+ repeatMasking=none
CACACATACTTTTATTCAAGCCTCAGAGCAACCCTGCAAAATGAGTATTA
TCTCCACTTTACAATCAGGAGGCTGAGTCATAAGGAGGTGAGTCACCTGC
CTAGGGCCACATAGCTAGCAAGGAGCCAAGCTGGAATTTTAAGCCACGTT
TGTCTGATTCTTTCTGCATACCATGC
>hg19_ct_UserTrack_3545_13212 range=chr1:186122154-186122314 5'pad=0 3'pad=0 strand=+ repeatMasking=none
ATCTTCAGGGACAAGTTTTTACAAACTCTCTTAATGGTTTTACCACCCTC
CCTATCAGGACCAAGATCAAATACTTGATGTAAGGCATTTGTTTAATTTT
CTTTAGACAAAGAGGATAGTAATTCTTGCATAAACGTTTTTGTGTATCAT
CCATAAAATAT
etc, etc
To:
>range=chr1:52035541-52035716 5'pad=0 3'pad=0 strand=+ repeatMasking=none
CACACATACTTTTATTCAAGCCTCAGAGCAACCCTGCAAAATGAGTATTA
TCTCCACTTTACAATCAGGAGGCTGAGTCATAAGGAGGTGAGTCACCTGC
CTAGGGCCACATAGCTAGCAAGGAGCCAAGCTGGAATTTTAAGCCACGTT
TGTCTGATTCTTTCTGCATACCATGC
>range=chr1:186122154-186122314 5'pad=0 3'pad=0 strand=+ repeatMasking=none
ATCTTCAGGGACAAGTTTTTACAAACTCTCTTAATGGTTTTACCACCCTC
CCTATCAGGACCAAGATCAAATACTTGATGTAAGGCATTTGTTTAATTTT
CTTTAGACAAAGAGGATAGTAATTCTTGCATAAACGTTTTTGTGTATCAT
CCATAAAATAT
I’ve tried awk 'NR==1{sub(/^[^ ]* /,"")} 1' and sed -i '1s/\w\+ //' but nothing is working.
I assume you want to remove the first word in the lines that begin with a greater-than sign. In that case you can use
awklike this:Remove the restriction,
NR==1means that the following block will only be executed on the first line. Also include>in the pattern and replacement.Output: