Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

Unix - Frequently Asked Questions (3/7) [Frequent posting]
Section - Is it possible to pass shell variable settings into an awk program?

( Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Cities ]


Top Document: Unix - Frequently Asked Questions (3/7) [Frequent posting]
Previous Document: How do I check the exit status of a remote command executed via "rsh"?
Next Document: How do I get rid of zombie processes that persevere?
See reader questions & answers on this topic! - Help others by sharing your knowledge

3.12) Is it possible to pass shell variable settings into an awk program?

      There are two different ways to do this.  The first involves
      simply expanding the variable where it is needed in the program.
      For example, to get a list of all ttys you're using:

        who | awk '/^'"$USER"'/ { print $2 }'                           (1)

      Single quotes are usually used to enclose awk programs because
      the character '$' is often used in them, and '$' will be
      interpreted by the shell if enclosed inside double quotes, but
      not if enclosed inside single quotes.  In this case, we *want*
      the '$' in "$USER" to be interpreted by the shell, so we close
      the single quotes and then put the "$USER" inside double quotes.
      Note that there are no spaces in any of that, so the shell will
      see it all as one argument.  Note, further, that the double
      quotes probably aren't necessary in this particular case (i.e. we
      could have done

        who | awk '/^'$USER'/ { print $2 }'                             (2)

      ), but they should be included nevertheless because they are
      necessary when the shell variable in question contains special
      characters or spaces.

      The second way to pass variable settings into awk is to use an
      often undocumented feature of awk which allows variable settings
      to be specified as "fake file names" on the command line.  For
      example:

        who | awk '$1 == user { print $2 }' user="$USER" -              (3)

      Variable settings take effect when they are encountered on the
      command line, so, for example, you could instruct awk on how to
      behave for different files using this technique.  For example:

        awk '{ program that depends on s }' s=1 file1 s=0 file2         (4)

      Note that some versions of awk will cause variable settings
      encountered before any real filenames to take effect before the
      BEGIN block is executed, but some won't so neither way should be
      relied upon.

      Note, further, that when you specify a variable setting, awk
      won't automatically read from stdin if no real files are
      specified, so you need to add a "-" argument to the end of your
      command, as I did at (3) above.

      A third option is to use a newer version of awk (nawk), which allows
      direct access to environment vairables.  Eg.

        nawk 'END { print "Your path variable is " ENVIRON["PATH"] }' /dev/null

User Contributions:

1
Report this comment as inappropriate
Sep 27, 2021 @ 1:13 pm
Hello ... Im looking a lover..
I love oral sex! Write me - tinyurl.com/yz6aajf4
2
Report this comment as inappropriate
Oct 3, 2021 @ 2:14 pm
Try Your luck and win a FREE $500 or $1000 coupon! - tinyurl.com/yhxaqmng
3
Report this comment as inappropriate
Oct 6, 2021 @ 3:15 pm
Hi baby!! my name is Virginia...
I love oral sex! Write me - is.gd/be2piI
4
Report this comment as inappropriate
Oct 7, 2021 @ 12:00 am
Try Your luck and win a Free Coca-Cola Pack! - tinyurl.com/y58phmar
5
Report this comment as inappropriate
Oct 12, 2021 @ 3:15 pm
WiFiBooster Pro provides you max speed with 300Mbps, no delay for playing game, online transfer files and video chat! Works with Any Router and Device (Smartphone, Computer, Smart tv, etc). Get 50% Off Today! Order Here - is.gd/OdxGOK
6
Report this comment as inappropriate
Oct 18, 2021 @ 3:03 am
Fill out the form and win a Free $500 or $1000 voucher! - tinyurl.com/yf9odcpg
7
Report this comment as inappropriate
Oct 18, 2021 @ 4:16 pm
hey dear!!! my name is Sophia...
I want sex! Here are my photos - is.gd/kZlpA3
8
Report this comment as inappropriate
Oct 27, 2021 @ 4:16 pm
Hi !! my name Emily...
Do you want to see a beautiful female body? Here are my erotic photos - tinyurl.com/yzet8jvr
9
Report this comment as inappropriate
Nov 6, 2021 @ 2:14 pm
heey .. my name Rebecca!!!
I love oral sex! Write me - tinyurl.com/ydnrouzb
10
Report this comment as inappropriate
Dec 3, 2021 @ 7:19 pm
Hi !! my name Maria.
I love sex. Here are my erotic photos - is.gd/eP3qxP
11
Report this comment as inappropriate
Dec 20, 2021 @ 5:05 am
Hi .. Im looking a man!!!
If you want to meet me, I'm here - is.gd/5kUUii
12
Report this comment as inappropriate
Jan 13, 2022 @ 4:16 pm
heey baby!!! my name Margaret..
I want sex! Write me - chilp.it/bf4d037
13
Rapinia
Report this comment as inappropriate
Feb 5, 2022 @ 12:12 pm
Hi...?! I'm my name is Name.FirstName and I have
A
Good opportunity for Target.Name, just follow this link to learn Remote Zoom Hypnosys ::) (Many eyes for better hypnosys)
14
Rodawg Thepuss
Report this comment as inappropriate
Feb 5, 2022 @ 12:12 pm
Hi, my name is Rodawg Thepuss,Third of the name.
I am here to present you a new and exciting opportunity to take advantage of others with Hypnosis through TeamsMEET.Hypnosis Hypnosis Hypnosis Hypnosis Hypnosis Hypnosis Hypnosis .

This is a record access board which can hold 30 seconds information about all the Hypnosis teams in Singapore. These teams have made numerous activities in the whole of Singapore, which has led to many mass hypnosiemicy readings.

This is the fastest way you can fast way of getting your classmates' goal on term project , S P MOAR!

so join Hypnosis Team in TeamMeets.net to become team's master key. On my life I swear by the many success stories i have shared above.

To be free of all problems, if you will join my Virtual Talk seminar. No one could ever stop you from achieving success. Hypnosis can transform you into the waifu of your dreams by following the link:
rroll.to/wxjWSC
15
Luc
Report this comment as inappropriate
Apr 12, 2022 @ 11:11 am
Hello Folks,

For old Linux distributions I could suggest this web site - linux-distros.com
16
Report this comment as inappropriate
Oct 16, 2022 @ 10:10 am
side effects of stopping buspar https://candipharm.com/search?text=side+effects+of+stopping+buspar inhese
17
Report this comment as inappropriate
Apr 3, 2023 @ 9:09 am
Regards, An abundance of posts!
funny college essay https://dissertationwritingtops.com newsletter writing service https://essaywritingservicebbc.com
18
Report this comment as inappropriate
Apr 4, 2023 @ 2:02 am
You actually explained that well.
master thesis writer https://essaywritinghelperonline.com custom thesis writing service https://essaywritingservicebbc.com
19
Nathan Higgurs
Report this comment as inappropriate
Apr 20, 2023 @ 2:14 pm
There sure are a lot of spam comments on this page.

Comment about this article, ask questions, or add new information about this topic:




Top Document: Unix - Frequently Asked Questions (3/7) [Frequent posting]
Previous Document: How do I check the exit status of a remote command executed via "rsh"?
Next Document: How do I get rid of zombie processes that persevere?

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
tmatimar@isgtec.com (Ted Timar)





Last Update March 27 2014 @ 02:12 PM