【发布时间】:2020-06-03 21:22:52
【问题描述】:
我们使用 Oracle 应用程序,同时也使用 UNIX 开发程序。在我们的 Oracle Apps UNIX 程序中,在运行程序时,我们将传递参数,参数值将存储在 $1 值中。而这个 $1 还会包含其他信息,例如实例、程序 id 是什么、程序运行的用户名和用户 id 等,如下所示
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
问候, 斯利瓦萨瓦
【问题讨论】:
-
你把这一切都压缩成 1 美元??为什么?
-
也许所有以 9 开头的字段都使用
cut -9-,但是当USERNAME有空格时,这将是 walt。您能否更改数据的连接方式或提供更多详细信息如何cut(可能在FCP_NUM_COPIES之后的第一个空格之后)。 -
它总是放在行尾吗?
标签: unix sed cut oracle-apps