Переменные среды с символом $

Два -передают команду Awk, довольно грязно:

awk -F, 'FNR == NR {diff[NR] = $2-$3;
         if (!($1 in minline) || diff[NR] < diff[minline[$1]]) {
           minline[$1]=NR}; next}
         FNR == 1 {for (a in minline) {p[minline[a]]}}
         FNR in p' file.csv file.csv

Для интереса, вот как это сделать с помощью SQL (, сделанного в Postgres, если быть точным):

vagrant=# \d quick 
   Table "pg_temp_2.quick"
 Column |  Type   | Modifiers 
--------+---------+-----------
 f1     | text    | 
 f2     | integer | 
 f3     | integer | 

vagrant=# select * from quick;
 f1 | f2 | f3 
----+----+----
 c1 |  5 |  2
 c1 |  5 |  3
 c1 |  5 |  1
 c2 |  8 |  3
 c2 |  8 |  4
(5 rows)

vagrant=# select f1, f2, f3 from (select *, rank() over (partition by f1 order by f2 - f3) from quick) as x where rank = 1;
 f1 | f2 | f3 
----+----+----
 c1 |  5 |  3
 c2 |  8 |  4
(2 rows)

vagrant=# 

-1
05.08.2019, 23:25
2 ответа
$ export CLOUD_PASSWORD='Pass4Aa$ditya'
$ printf '%s\n' "$CLOUD_PASSWORD"

Pass4Aa$ditya

$ export CLOUD_PASSWORD="Pass4Aa\$ditya"
$ printf '%s\n' "$CLOUD_PASSWORD"

Pass4Aa$ditya

одинарные кавычки или экранирование обратной косой чертой:)

18
28.01.2020, 05:06

Используйте одинарные кавычки, чтобы присвоить значение переменной в файле .bash_profile.

Добавить следующую строку в.bash_profile-

export CLOUD_PASSWORD='Pass4Aa$ditya'

Проверьте изменения-

$ source.bash_profile
$ printf '%s\n' "$CLOUD_PASSWORD"
Pass4Aa$ditya
3
28.01.2020, 05:06

Теги

Похожие вопросы