bash - remove the first 15 characters from every other line in a file -
i have txt files (they contain dna sequences , sample codes):
>srr1502445.1 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcaacacagggggataggnnnnnnnnnnnnnnnnnnnnnnn >srr1502445.2 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaagacggttggaagcgggttccaaggcacacaggggataggnnn >srr1502445.3 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcacacaggggataggnnn >srr1502445.4 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcacacaggggataggnnnnnnnnnnn i remove first 15 characters of every other line in file. remove string gactacacgtagtat second, fourth, sixth, eighth lines (etc).
for instance cut command can remove first 15characters of every line:
cut -c 1-15 /path/to/file.txt i'd apply to every other line, starting second.
if don't mind using sedand assuming other line starts > following remove first 15 contiguous uppercase characters "a-z" of other lines:
sed 's/^[a-z]\{15\}//' file > new_file
or, in place edit (gnu sed) use -i:
sed -i 's/^[a-z]\{15\}//' file
or, in place edit (bsd sed) use -i '':
sed -i '' 's/^[a-z]\{15\}//' file
or, up:
sed -i.bak 's/^[a-z]\{15\}//' file
example:
$ cat file >srr1502445.1 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcaacacagggggataggnnnnnnnnnnnnnnnnnnnnnnn >srr1502445.2 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaagacggttggaagcgggttccaaggcacacaggggataggnnn >srr1502445.3 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcacacaggggataggnnn >srr1502445.4 gactacacgtagtatacgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcacacaggggataggnnnnnnnnnnn $ sed 's/^[a-z]\{15\}//' file >srr1502445.1 acgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcaacacagggggataggnnnnnnnnnnnnnnnnnnnnnnn >srr1502445.2 acgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaagacggttggaagcgggttccaaggcacacaggggataggnnn >srr1502445.3 acgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcacacaggggataggnnn >srr1502445.4 acgagtgcgttcctgcgcttattgatatgcttaagttcagcgggtagtctcacccgatttgaggtcaaggtttgtgggtcgagtcacaactcgaacatcgtctttgtacaaagacggttggaagcgggttccaaggcacacaggggataggnnnnnnnnnnn $
Comments
Post a Comment