Это очень просто с P
erl совместимой опцией:
grep -Po '\w+(?=@)' file
где \w
соответствует любому символу слова, а (?=...)
это так называемый look ahead regexp.
Выход:
langfordm
bas102
bah001
mattleg
В большинстве случаев экземпляр Oracle работает под специальной учетной записью, например, с Oracle. Если вы входите в систему как этот пользователь, вам необходимо установить правильную среду, в которой наиболее важными являются $ ORACLE_BASE
, $ ORACLE_HOME
и $ ORACLE_SID
. Кроме того, переменная PATH
может быть расширена, чтобы иметь $ ORACLE_HOME / bin
, где обычно находится sqlplus
. Взгляните на oraenv
, чтобы установить правильную среду, и попробуйте выполнить sqlplus
, используя $ ORACLE_HOME / bin / sqlplus
В большинстве случаев мы копируем настройки базы данных с одного сервера на другой. Таким образом, данные другого сервера oracle HOME могут быть ошибочно скопированы на новый сервер.
Способ найти sqlplus на новом сервере.
[severdetais scripts]$ locate sqlplus
/oracli/app/oracle/product/11.2.0.3/client_1/sqlplus
/oracli/app/oracle/product/11.2.0.3/client_1/bin/sqlplus
/oracli/app/oracle/product/11.2.0.3/client_1/instantclient/libsqlplusic.so
И используйте указанное выше расположение в файлах свойств экспорта, как показано ниже.
export ORACLE_CLIENT=/oracli/app/oracle/product/11.2.0.3/client_1/bin/
export ORACLE_HOME=/oracli/app/oracle/product/11.2.0.3/client_1
export PATH=$PATH:$JAVA_HOME:$JRE_HOME:$ORACLE_CLIENT:$ORACLE_HOME
export LD_LIBRARY_PATH=${ORACLE_CLIENT}:${LD_LIBRARY_PATH}:${ORACLE_HOME}:$ORACLE_HOME/lib
export SQLPATH=${ORACLE_CLIENT}:${SQLPATH}:${ORACLE_HOME}
Надеюсь, это решит проблему!!