Как отмечали некоторые другие, переменная среды TZ
- это то, что влияет на вывод date
. Однако в большинстве случаев вы не захотите оставить TZ
измененным; вы просто хотите видеть время в этом часовом поясе, не затрагивая впоследствии вашу среду.
Для этой цели лучше всего использовать env
. Из справочной страницы env
:
NAME
env - run a program in a modified environment
SYNOPSIS
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
Итак, в этом случае желаемая команда будет выглядеть примерно так:
env TZ='EST' date
Существуют и другие форматы, приемлемые для часового пояса - многие из них. Если у вас есть особые требования, рекомендуется прочитать man timezone
, в котором объясняются допустимые форматы часовых поясов.
Creo que quieres una expresión regular como grep. Algo así como grep 'VAR\("[A-z0-9]*"\)'
Sin embargo, no funcionará en su caso con todos esos \"s. Tal vez algo similargrep '(^VAR(\")[A-z0-9](^\"))' | grep 'VAR\(\\"[A-z0-9]*\\"\)'
Tampoco he estado usando grep por mucho tiempo.:)
Si tiene un grep
compatible con Perl Expresión regular (PCRE ), entonces puede usar
grep -Po 'VAR\(\\"\K[^\\]*'
o (de manera más simétrica -usando mirar hacia atrás y mirar hacia adelante)
grep -Po '(?<=VAR\(\\").*?(?=\\")'
Ej.
$ grep -Po 'VAR\(\\"\K[^\\]*'
function( "((2 * VAR(\"xxx\")) - VAR(\"yyy\"))" ?name "name" ?plot t ?save t ?evalType 'point)
function("value(res VAR(\"zzz\"))" ?name "othername" ?plot t ?save t ?evalType 'point)
xxx
yyy
zzz
Ej.
$ grep -Po '(?<=VAR\(\\").*?(?=\\")'
function( "((2 * VAR(\"xxx\")) - VAR(\"yyy\"))" ?name "name" ?plot t ?save t ?evalType 'point)
function("value(res VAR(\"zzz\"))" ?name "othername" ?plot t ?save t ?evalType 'point)
xxx
yyy
zzz