Fwd: LFS Script suggestion

Bruce Dubbs bruce.dubbs at gmail.com
Mon Jan 29 19:46:23 PST 2007


Dan Nicholson wrote:
> On 1/29/07, Bruce Dubbs <bruce.dubbs at gmail.com> wrote:
>> Dan Nicholson wrote:
>>> On 1/28/07, Alexander E. Patrakov <patrakov at ums.usu.ru> wrote:
>>>> Tushar Teredesai wrote:
>>>>> cat /proc/version | head -n1 | cut -d" " -f1-3,5-7
>>> Pet peeve. Don't use cat to create input streams when the shell is
>>> perfectly capable on it's own with <.
>> vs
>>
>>> sed -n 's/.*gcc version \([^() ]*\)[() ].*/\1/p;q' < /proc/version
>> >From an educational view, what's wrong with showing a different way of
>> doing things.
>>
>> Actually Tush's version above is much clearer to me than your sed,
>> although I don't think the head -n1 is needed (it may be in some cases,
>> but not for my systems).
> 
> OK, but it still needs to be fixed to work on Debian. Here's the
> output from Alexander's version string:
> 
> [ 5:28 PM dan at conor] cat foo | head -n1 | cut -d" " -f1-3,5-7
> Linux version 2.6.18-3-686 2.6.18-7) (waldi at debian.org) (gcc
> 
> It might be best to cat the whole file like he mentioned unless you
> want to have a much more heavy duty parser.

OK, I see now.  Debian adds a field to their string.  In that case a sed
is definitely needed.

>From one of mine (Obviously not LFS):

Linux version 2.6.9-42.0.3.EL_lustre.1.5.97smp (ltest at scsi1) (gcc
version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Fri Jan 12 17:22:43 MST
2007

And Alex:

Linux version 2.6.18-3-686 (Debian 2.6.18-7) (waldi at debian.org) (gcc
version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)) #1 SMP Mon Dec 4
16:41:14 UTC 2006

How about:

$ sed -r 's/.*(gcc version [01234567890\.]+).*/\1/' /proc/version
gcc version 4.0.3

I don't like all those backslashes.  :)

  -- Bruce





More information about the lfs-dev mailing list