Вывести как ps, так и Date в одной строке, в файл?

Я строю рудиментарный скрипт регистрации и хочу записать вывод ps up 12345

Пока у меня есть:

 DATE2=`date +%Y-%m-%d:%H:%M:%S` echo ${DATE2} >> $filename ps up 12345 --no-headers >> $filename 

Это дает мне информацию, которую я хочу, но на трех строках (1 = дата, 2 = вывод ps 3 = пустая строка)

Однако, в идеале, я хотел бы зафиксировать их на одной линии. Есть ли способ их комбинировать (и игнорировать пустую строку)?

2 Solutions collect form web for “Вывести как ps, так и Date в одной строке, в файл?”

Вы также можете сохранить вывод ps в переменной и записать его с помощью одного эха или printf.

 DATE2=`date +%Y-%m-%d:%H:%M:%S` PS_RESULT=`ps up 12345 --no-headers` printf "%s: %s" "${DATE2}" "${PS_RESULT}" >> $filename 

Обратите внимание, что было бы полезно привыкнуть к $(command) вместо `command` когда вы сможете ее использовать, так как этот синтаксис может быть вложенным.

Одним из решений является не печатать новую строку в конце первой строки. Вместо этого вам, скорее всего, понадобится место.

 echo -n "${DATE2} " >>"$filename" 
  • Как установить идентификатор для нескольких фоновых процессов?
  • Как использовать awk вместе с командой, чтобы показать идентификатор процесса командой «ps»
  • Как получить выполненную команду процесса, который успешно завершил работу с PID?
  • Как преобразовать вывод ps (1) в JSON?
  • Что означает aux в `ps aux`?
  • Как определить исполняемый путь с его PID на AIX 5 или более
  • Странное поведение «ps aux» в столбце времени процессора
  • Проверьте процесс и убейте
  • Почему процесс двоичного файла с разрешением только на выполнение остается скрытым в «ps» при использовании hidepid = 2, если пользователь не является root?
  • Команда «ps» не возвращает запрос
  • Пожалуйста, объясните этот вывод команды ps -ef?
  • Linux и Unix - лучшая ОС в мире.