Как предложил мой Марк Стосберг, я добавил эту уникальную строку
Environment="LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2" "ORACLE_HOME=/opt/oracle/instantclient_12_2"
до /lib/systemd/system/phpsessionclean.service
, в разделе [Сервис], затем перезагрузил сервис:systemctl reload phpsessionclean
. Последующие прогоны не генерировали предупреждение, которое вы видели раньше. Я предполагаю, что необходима только одна из двух переменных, определенных там, но у меня нет времени проводить эксперимент.
Ваша первая строка выходит неправильно, потому что действие {FIELDWIDTHS ="3 4 3"}
не применяется до тех пор, пока первая строка не будет прочитана и проанализирована.
Если вы переместите определение FIELDWIDTHS
внутрь блока BEGIN
, оно будет работать, как задумано:
awk 'BEGIN{print "Header"; FIELDWIDTHS ="3 4 3"}{print $1"|"$2"|"$3"|"};END{print "Footer"}' file8
Обратите внимание, что FIELDWIDTHS
может поддерживаться только в GNU Awk(gawk
).
Достигается приведенной ниже командой, и она тоже работала нормально
команда:
awk 'NR==1{$0=substr($1,1,3)"|"substr($1,4,3)"|"substr($1,6,3)"|"}1' filename
выход
awk 'NR==1{$0=substr($1,1,3)"|"substr($1,4,3)"|"substr($1,6,3)"|"}1' l.txt
123|456|678|
234|5678|901|
345|6789|012|
098|7654|321|
Footer