echo '123|456|789' | sed 's/|.*//'
echo '123|456|789' | sed 's/^[0-9]*|//;s/|.*//'
echo '123|456|789' | sed 's/.*|//'
echo '123|456|789' | sed 's/|/ /g'
Или, если вам не жалко использоватьsed
echo '123|456|789' | cut -f1 -d\|
echo '123|456|789' | cut -f2 -d\|
echo '123|456|789' | cut -f3 -d\|
echo '123|456|789' | cut -f1,2,3 --output-delimiter=" " -d\|
Это была проблема с порядком загрузки, так как программа _A была запущена до процесса системного журнала и поэтому не могла использовать службу. Решение состоит в том, чтобы запустить этот скрипт:
sudo update-rc.d Program_A.sh start 21 2 3 4 5. stop 21 0 1 6.
вместо
sudo update-rc.d Program_A.sh defaults
обновление -rc.d создает символические ссылки на разных уровнях запуска, хранящихся в папках /etc/rc?.d. Теоретически, добавив в него заголовок LSBInit, Программа _A.sh должна автоматически разрешить порядок загрузки. Однако в случае с моими встроенными системами это не так.
Системный журнал имеет «загрузочный номер» 20, поэтому установка для моей программы _A более высокого порядка загрузки гарантирует, что программа _A будет запущена после системного журнала.