Difference between revisions of "Awk"

From wikieduonline
Jump to navigation Jump to search
Tags: Mobile web edit, Mobile edit
Tags: Mobile web edit, Mobile edit
Line 25: Line 25:
 
* Print '''all lines after''' some text<ref>https://stackoverflow.com/questions/17908555/printing-with-sed-or-awk-a-line-following-a-matching-pattern</ref>
 
* Print '''all lines after''' some text<ref>https://stackoverflow.com/questions/17908555/printing-with-sed-or-awk-a-line-following-a-matching-pattern</ref>
 
:<code>awk '/TEXT_TO_SEARCH/{f=1}f' file</code>
 
:<code>awk '/TEXT_TO_SEARCH/{f=1}f' file</code>
 +
 +
* Print every 3 lines:
 +
<code>awk 'NR%3==1' file.txt</code>
  
 
== Related commands ==
 
== Related commands ==

Revision as of 11:52, 15 July 2020

wikipedia:AWK


Examples

  • cat file.txt | awk '{print $1}'


  • Prepend a variable string ($STRING_TO_PREPEND) at the beginning of every line
cat file.txt | awk '{print "'$STRING_TO_PREPEND' "$0}'[1]

In case text to prepend is a variable ($PREPEND_TEXT_VAR):

echo "$ORIGINAL_TEXT" | awk -v AWK_PREPEND_VAR="$PREPEND_TEXT_VAR" '{print AWK_PREPEND_VAR" "$0}'

Prepend time before every line

echo "$ORIGINAL_TEXT" | awk -v time="$(date)" '{print time" "$0}'
  • Remove leading spaces at the beginning of a line:
awk ' {$1=$1} 1 '[2]
  • Print lines if field fith value ($5) is smaller than 100:
awk '$FIELD_NUMER>VALUE'
Example: awk '$5<100'
  • Print all lines after some text[3]
awk '/TEXT_TO_SEARCH/{f=1}f' file
  • Print every 3 lines:

awk 'NR%3==1' file.txt

Related commands

Activities

See also

  • https://serverfault.com/questions/72744/command-to-prepend-string-to-each-line
  • https://catonmat.net/awk-one-liners-explained-part-two
  • https://stackoverflow.com/questions/17908555/printing-with-sed-or-awk-a-line-following-a-matching-pattern
  • Advertising: