Команда AWK для отображения Header, Transform и Footer?

Как предложил мой Марк Стосберг, я добавил эту уникальную строку

Environment="LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2" "ORACLE_HOME=/opt/oracle/instantclient_12_2"

до /lib/systemd/system/phpsessionclean.service, в разделе [Сервис], затем перезагрузил сервис:systemctl reload phpsessionclean. Последующие прогоны не генерировали предупреждение, которое вы видели раньше. Я предполагаю, что необходима только одна из двух переменных, определенных там, но у меня нет времени проводить эксперимент.

0
12.05.2019, 02:02
2 ответа

Ваша первая строка выходит неправильно, потому что действие {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).

1
28.01.2020, 02:40

Достигается приведенной ниже командой, и она тоже работала нормально

команда:

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
0
28.01.2020, 02:40

Теги

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