Другой аналогичный вариант — использовать/usr/bin/env
:
ExecStart=/usr/bin/env "${JAVA_HOME}/bin/java" -jar...
Таким образом, вы можете опустить '
кавычки вокруг всей команды, что полезно, если вам нужно вложить элементы в кавычки.
ПС. В качестве примечания важно заключать имена переменных в фигурные скобки {
}
в файлах Systemd, иначе они не будут правильно распознаны.
Если это точный текст, то это сработает:
awk -F "|" 'BEGIN{OFS="|"} NR==1 {print $2,$6,$11,$12,$13}' file.txt
Первая часть задает разделитель полей ввода как вертикальную черту, которая представляет собой |
с awk -F "|"
. Затем он печатает этот разделитель полей между каждым полем или столбцом, как вы хотите, в своем выводе BEGIN{OFS="|"}
. Затем он печатает эти конкретные столбцы из первой строки или записи NR==1 {print $2,$6,$11,$12,$13}' file.txt
.
Выход:
2019-12-23T23:13:24.380000|SURVEY-INGV|1.4|--|5 km E Barberino di Mugello (FI)
По крайней мере с GNU cut
, либо
cut -d '|' -f 2,6,11-13 text
или
cut -d '|' --complement -f 1,3-5,7-10 text
должно работать.
sed "s/\|\{2,\}/|/g" filename| awk '$0 !~/^$/'|awk -F "|" 'OFS="|"{print $2,$6,$8,$9,$10}'
выход
2019-12-23T23:13:24.380000|SURVEY-INGV|1.4|--|5 km E Barberino di Mugello (FI)
2019-12-17T03:40:08.660000|SURVEY-INGV|1.0|--|5 km NE Barberino di Mugello (FI)
2019-12-17T02:42:40.600000|SURVEY-INGV|1.4|--|4 km NE Barberino di Mugello (FI)
2019-12-17T00:19:33.840000|SURVEY-INGV|0.6|--|5 km NE Barberino di Mugello (FI)
2019-12-14T21:47:53.240000|SURVEY-INGV|1.8|--|5 km E Barberino di Mugello (FI)