using awk on a string

awk, bash, linux

Solution

Print first column*:

<some output producing command> | awk '{print $1}'

Print second column:

<some output producing command> | awk '{print $2}'

etc.

Where `<some output producing command>` is like `cat filename.txt` or `echo $VAR`, etc.

e.g. `ls -l | awk '{print $9}'` extracts the ninth column, which is like an ... awkward way of `ls -1`

*Columns are defined by the separating whitespace.

EDIT: If your text is already in a variable, something like:

VAR2=$(echo $VAR | awk '{print $9}')

would work, provided you change 9 to the desired column.

Problem

can I use awk to extract the first column or any column on a string? Actually i am using a file and reading it to a variable I want to use AWK on that variable and do my job. How is it possible? Any suggestions.

Original source