Difference between revisions of "User:Timothee Flutre/Notebook/Postdoc/2012/05/25"

From OpenWetWare
Jump to: navigation, search
(Awk one-liner to convert fasta file into fastq format: dedicate this page for one-liners)
(One-liners with GNU tools: add sed examples)
(One intermediate revision by the same user not shown)
Line 8: Line 8:
 
==One-liners with GNU tools==
 
==One-liners with GNU tools==
  
* [http://en.wikipedia.org/wiki/AWK AWK] is a programming language very useful to perform, from the command line, quick checks, format conversions and exploratory analyzes on any text file.
+
* '''Tutorial''': [http://www.ibm.com/developerworks/aix/library/au-unixtext/index.html Introduction to text manipulation on UNIX-based systems] by Brad Yoes (IBM)
 +
 
 +
 
 +
* '''Toolbox''':
 +
** [http://en.wikipedia.org/wiki/AWK AWK]
 +
** grep
 +
** sed
 +
** cut
 +
** tr
 +
** wc
 +
 
 +
 
 +
* '''Skip a subset of successive lines''':
 +
for i in {1..10}; do echo $i; done | sed 3,6d
 +
 
 +
 
 +
* '''Extract a subset of successive lines''':
 +
for i in {1..20}; do echo $i; done | sed -n 3,5p
  
  
 
* '''Use absolute values:'''
 
* '''Use absolute values:'''
 
+
  for i in {-5..5}; do echo $i; done | awk 'function abs(x){return (((x < 0.0) ? -x : x) + 0.0)} {print abs($1)}'
  awk 'function abs(x){return (((x < 0.0) ? -x : x) + 0.0)} {print abs($1)}' input.txt
 
  
  

Revision as of 07:42, 29 November 2012

Owwnotebook icon.png Project name <html><img src="/images/9/94/Report.png" border="0" /></html> Main project page
<html><img src="/images/c/c3/Resultset_previous.png" border="0" /></html>Previous entry<html>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</html>Next entry<html><img src="/images/5/5c/Resultset_next.png" border="0" /></html>

One-liners with GNU tools


  • Toolbox:
    • AWK
    • grep
    • sed
    • cut
    • tr
    • wc


  • Skip a subset of successive lines:
for i in {1..10}; do echo $i; done | sed 3,6d


  • Extract a subset of successive lines:
for i in {1..20}; do echo $i; done | sed -n 3,5p


  • Use absolute values:
for i in {-5..5}; do echo $i; done | awk 'function abs(x){return (((x < 0.0) ? -x : x) + 0.0)} {print abs($1)}'


awk 'BEGIN{RS=">"} {if(NF==0)next; split($0,a,"\n"); printf "@"a[1]"\n"a[2]"\n+\n"; \
for(i=1;i<=length(a[2]);i++)printf "}"; printf"\n"}' probes.fa > probes.fq