Есть ли способ подстроки или сокращения части значения переменной unix без использования эха?

Есть ли способ подстроки или сокращения части значения переменной unix без использования эха?

Например, у меня есть переменная, содержащая дату.

pDate=2020-06-22

Мне нужно передать год и месяц в отдельные переменные. Я буду использовать их в операторе if else, который будет определять квартал года.

Я не использую скрипт... Я кодирую в Datastage, а это для этапа выполнения команды. Я использовал эту команду:

pDate=2020-06-22; pMonth= echo $pDate | cut -c6-7

, так что это дает мне месяц «06» в выводе команды на этапе выполнения команды задания последовательности DS. Мне нужен месяц только как переменные, а не для вывода в выводе команды, потому что задание не выполняется, если оно имеет несколько выходов.

0
23.06.2020, 05:41
1 ответ

Переносимо, вы можете использовать расширение параметров оболочки:

$ 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
4
18.03.2021, 23:25

Теги

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