On Thu, Dec 20, 2012 at 07:43:50AM -0800, [email protected] wrote:
> for dir in UA_tile_tif_pop_txt UA_buf10_tile_tif_pop_txt
> UA_buf20_tile_tif_pop_txt UA_buf30_tile_tif_pop_txt UA_buf40_tile_tif_pop_txt
> UA_buf50_tile_tif_pop_txt ; do echo $dir ; done | xargs -n 1 -P 6 bash -c '
> IN_UA=/weldgfs/p51/gius_urban/pop_urban/buffer_tif
> dir="$1"
>
> awk '{ print $2 }' $IN_UA/$dir/UA_block_sum_s.txt > $IN_UA/$dir/test.txt
>
> ' _
You are trying to use '...' inside '...'.
> I try to escape with the \ the ' and the } but no good results.
> any idea how how i can insert awk function in xargs bash -c ' '_ syntax?
The traditional way (works in all Bourne-family shells) would be to
close the outer '...', then use \', then re-open the '...'. In practice
that looks like this:
bash -c '
awk '\''{print $2}'\'' ...
' _
Another way, which only works in bash, would be to use the $'...' quoting
syntax instead:
bash -c $'
awk \'{print $2}\' ...
' _
This really should have been asked on help-bash rather than bug-bash,
by the way.