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

From OpenWetWare
Jump to navigationJump to search
(→‎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 08:42, 29 November 2012

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