Есть ли способ подстроки или сокращения части значения переменной unix без использования эха?
Например, у меня есть переменная, содержащая дату.
pDate=2020-06-22
Мне нужно передать год и месяц в отдельные переменные. Я буду использовать их в операторе if else, который будет определять квартал года.
Я не использую скрипт... Я кодирую в Datastage, а это для этапа выполнения команды. Я использовал эту команду:
pDate=2020-06-22; pMonth= echo $pDate | cut -c6-7
, так что это дает мне месяц «06» в выводе команды на этапе выполнения команды задания последовательности DS. Мне нужен месяц только как переменные, а не для вывода в выводе команды, потому что задание не выполняется, если оно имеет несколько выходов.
Переносимо, вы можете использовать расширение параметров оболочки:
$ pDate=2020-06-22
$ year=${pDate%%-*}
$ yearmonth=${pDate%-*}
$ month=${yearmonth#*-}
$ echo $year
2020
$ echo $month
06
С помощью ksh вы можете читать из строки:
$ IFS="-" read year month day <<<"$pDate"
$ echo "$year.. $month.. $day"
2020.. 06.. 22