Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: virtual files?
- X-seq: zsh-users 21456
- From: "Nikolay Aleksandrovich Pavlov (ZyX)" <kp-pav@xxxxxxxxx>
- To: Emanuel Berg <embe8573@xxxxxxxxxxxxx>, "zsh-users@xxxxxxx" <zsh-users@xxxxxxx>
- Subject: Re: virtual files?
- Date: Wed, 20 Apr 2016 04:27:12 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1461115632; bh=pVgbnmaYZNc2JDWEiL91E8GxVgi1fHv3LxcCOsCVs28=; h=From:To:In-Reply-To:References:Subject:Date; b=qdHXJkf1Z5/MAokly0OivhPxKnfw/PoSy9gvfRyqOP+ZfoTXNpPDP9irQ3rsNEv0x 6csbwpMuK/521iLGg3NKMjfjz96BxAQ3gU7NYXo4JBgV01buUIiOsz1wvqmMiHnsjq oqneylWviasoqiLc6O0NF/I96vP+O5NbfT/yjJ5Y=
- In-reply-to: <8760vdrt5y.fsf@student.uu.se>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <8760vdrt5y.fsf@student.uu.se>
20.04.2016, 04:19, "Emanuel Berg" <embe8573@xxxxxxxxxxxxx>:
> Here is a program I just wrote.
>
> Feel free to comment on any part.
>
> However my specific question is, instead of using the
> "result_file" stuff, is there support for
> I suppose "virtual files" or basically a data structure
> that can be used transparently as a file, or with but
> small adjustments?
>
> TIA.
>
> #! /bin/zsh
>
> # This file: http://user.it.uu.se/~embe8573/conf/.zsh/money
>
> # zsh CLI to Internet inflation calculator.
> #
> # Try, for example, three K2 expeditions:
> #
> # $ inflation 9000 1938; inflation 30958.33 1953; inflation 108000 1954
> #
> # which yields:
> #
> # $151,999.15
> # $276,111.20
> # $956,069.00
>
> inflation () {
> local usd=${1:-10}
>
> # year
> local then=${2:-1950}
> local now=`date +"%Y"`
>
> local result_file=result
>
> local link="http://data.bls.gov/cgi-bin/cpicalc.pl?cost1=$usd&year1=$then&year2=$now"
> wget -q $link -O $result_file
>
> echo -n \$
> grep \"answer\" $result_file | cut -d \$ -f 2 | cut -d \< -f 1
>
> rm $result_file
> }
In some cases you may use `>(process)` to create file descriptor that will be used like a named pipe and may replace real files in some cases (it does not support seek(), also some processes have a habit of closing all file descriptors except stdin/stdout/stderr). But it is launched in subshell which limits the usefullness further (i.e. you cannot directly save result in a variable).
Specifically this function does not need >() or any file at all:
…
echo -n \$
wget -q $link -O- | grep answer | cut -d \$ -f2 | cut -d \< -f1
…
>
> --
> underground experts united .... http://user.it.uu.se/~embe8573
> Emacs Gnus Blogomatic ......... http://user.it.uu.se/~embe8573/blogomatic
> - so far: 25 Blogomatic articles -
Messages sorted by:
Reverse Date,
Date,
Thread,
Author