Мы используем приложения Oracle, а также разрабатываем программы с использованием UNIX. В нашей программе Oracle Apps UNIX при запуске программы мы будем передавать параметры, и значения параметров будут храниться в значении $1. И этот $ 1 также будет содержать другую информацию, такую как экземпляр, идентификатор программы, имя пользователя, запущенное программой, идентификатор пользователя и т. Д., Как показано ниже.
XX_VENDOR_ACH_HOST FCP_REQID=9946271 FCP_LOGIN="APPS/trn12fnd" FCP_USERID=127 FCP_USERNAME="USERNAME" FCP_PRINTER="noprint" FCP_SAVE_OUT=Y FCP_NUM_COPIES=0 "TEST Pay Batch 021120-c"
здесь TEST Pay Batch 021120-c является единственным значением параметра. Теперь мне нужно получить значение этого параметра. Итак, я написал команду, как показано ниже
echo $1 | cut -d" " -f9 | sed 's/"//g'
Но это просто печатает слово TEST, а не полное значение. Может ли кто-нибудь помочь мне с полной командой для получения TEST Pay Batch 021120-c?
С уважением, Шриватсава
cut -9-
, но это не работает, когдаUSERNAME
имеет пробел. Можете ли вы изменить способ объединения данных или дать более подробную информацию о том, какcut
(возможно, после первого пробела послеFCP_NUM_COPIES
). - person Walter A   schedule 19.02.2020