[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gawk] Match field one and print field three
From: |
arnold |
Subject: |
Re: [bug-gawk] Match field one and print field three |
Date: |
Wed, 15 May 2019 10:34:31 -0600 |
User-agent: |
Heirloom mailx 12.5 7/5/10 |
Hi.
You need to write it this way:
$ ldd lib/.libs/libidn.so | awk '$1 ~ /^libasan\.so\..*/ {print $3}'
The == is a string comparison, meaning an exact comparison; the ~ does
a regular expression match.
HTH,
Arnold
Jeffrey Walton <address@hidden> wrote:
> Hi Everyone,
>
> I'm having trouble testing a library. To test the library I need to
> LD_PRELOAD another another library. The rub is, the library is paired
> with the compiler, so I have to wait for the artifact to be built and
> then have ldd tell me which library to use.
>
> The awk below needs to find libasan.so.* in field one, then then print
> field three:
>
> $ ldd lib/.libs/libidn.so
> linux-vdso.so.1 (0x00007ffd1bd9e000)
> libasan.so.5 => /lib64/libasan.so.5 (0x00007ff41339c000)
> libdl.so.2 => /lib64/libdl.so.2 (0x00007ff413396000)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff413374000)
> libc.so.6 => /lib64/libc.so.6 (0x00007ff4131ae000)
> librt.so.1 => /lib64/librt.so.1 (0x00007ff4131a4000)
> libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff41300c000)
> libm.so.6 => /lib64/libm.so.6 (0x00007ff412e86000)
> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff412e6b000)
> /lib64/ld-linux-x86-64.so.2 (0x00007ff4141c6000)
>
> However, the result of the awk is empty so I am doing something wrong:
>
> $ ldd lib/.libs/libidn.so | awk '$1 == "libasan.so.*" {print $3}'
> $
>
> How do I fix the awk?
>
> In case it is needed:
>
> $ awk --version
> GNU Awk 4.2.1, API: 2.0 (GNU MPFR 3.1.6-p2, GNU MP 6.1.2)