csh use of grep | tr commands

@lbutlr kremels at kreme.com
Tue Aug 11 14:52:12 UTC 2020

On 10 Aug 2020, at 08:44, Polytropon <freebsd at edvax.de> wrote:
> On Sun, 09 Aug 2020 20:34:51 -0400, Ernie Luzar wrote:
>> Double quotes are giving me trouble.
>> I have a file with a line in it like this
>> ip4=""
>> I want to get just the ip address
>> ip=`grep "ip4=" directory-path/file-name
>> $ip ends up having ip4=""  in it
>> ip=`echo -n "${ip}" | tr -d "ip4="
>> $ip ends up having ""  in it
>> Putting | tr """ " "` after the echo above gives error.
>> How do I remove the " around the ip address?
> Without any insult: You're using the wrong tool.
> While the C shell is acceptable as an interactive shell
> (and I even prefer it over bash to a certain degree),
> it's absolutely terrible, and I may even say unsuited
> for scripting.

I agree. My first use of a unix system defaulted to csh. As soon as I started writing scripts I switched away from csh. (bash and now zsh).

> The system's default scripting shell is sh. Use that.

Or that.

> % echo 'those "are" quotes' | sed 's/"//g'

Exactly what I would do, though I sometimes I use egrep -o if there is longer input.

I WILL NOT SELL LAND IN FLORIDA Bart chalkboard Ep. 7F16

More information about the freebsd-questions mailing list