преобразование переменных в сценарии оболочки из строк в числа

Unix-команда для поиска слова в файлах:

grep

$ man grep | grep -A 5 DESCRIPTION
DESCRIPTION
   grep  searches the named input FILEs (or standard input if no files are named, or if a single hyphen-minus (-) is given as file name) for lines containing a
   match to the given PATTERN.  By default, grep prints the matching lines.

   In addition, three variant programs egrep, fgrep and rgrep are available.  egrep is the same as grep -E.  fgrep is the same as grep -F.  rgrep is  the  same
   as grep -r.  Direct invocation as either egrep or fgrep is deprecated, but is provided to allow historical applications that rely on them to run unmodified.
0
09.10.2019, 21:34
2 ответа

Сценарии оболочки вообще не имеют числовых переменных, так что это не проблема. Сообщение об ошибке верно на 100 %. 10.128063739 -0.1028907398 — это не команда, она нужна вам для создания выходных данных для отправки в bc.

Попробуйте:

Difference=$(echo "$CollegeMin-$HighSchoolMin" | bc)

вместо

1
28.01.2020, 02:39

Я вижу, у @davolfman есть ответ, который вам нужен.

К вашему сведению, вы можете использовать регулярные выражения с группой захвата для заработной платы, чтобы оптимизировать поиск выпускников средней школы (12-го класса )и выпускников колледжа (16-го класса )заработной платы:

sed 's/^[^,]*,[^,]*,12,\(.*\)/\1/;t;d' wages.csv # High School Grad Wages
sed 's/^[^,]*,[^,]*,16,\(.*\)/\1/;t;d' wages.csv # College Grad Wages

Вот обновленный скрипт для HighSchoolMin и CollegeMin:

HighSchoolMin=$(sed 's/^[^,]*,[^,]*,12,\(.*\)/\1/;t;d' wages.csv | sort -n | head -1)
CollegeMin=$(sed 's/^[^,]*,[^,]*,16,\(.*\)/\1/;t;d' wages.csv |sort -n | head -1)
0
28.01.2020, 02:39

Теги

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